为了账号安全,请及时绑定邮箱和手机立即绑定

选择特定列时的 NaN 值

选择特定列时的 NaN 值

jeck猫 2022-06-02 15:48:32
目前正在尝试使用 Pandas 和 Matplotlib 收集有关数据科学的一些知识。我想做什么选择具有相应价格的邻里团体租用私人房间(AirBnB)问题我得到一列的正确数据,但其余的我收到 NaN 值。感谢任何帮助,您可以在下面找到代码片段和输出。    ap_df = pd.DataFrame()for neighbourhood_group in df['neighbourhood_group'].unique():    nbhg_df = df.copy()[df['neighbourhood_group']==neighbourhood_group]    nbhg_df[f"{neighbourhood_group}_Price"] = nbhg_df['price']    nbhg_df.set_index("id", inplace=True)    nbhg_df.sort_index(inplace=True)    if ap_df.empty:        ap_df = nbhg_df[[f"{neighbourhood_group}_Price"]]    else:        ap_df = ap_df.join(nbhg_df[f"{neighbourhood_group}_Price"])ap_df
查看完整描述

1 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

所以我想我可以用另一个更简单、更有效的例子来帮助你满足你的需要


import pandas


df = pandas.DataFrame({

    'id': [1, 2, 3],

    'cat': ['cat_1', 'cat_2', 'cat_3'],

    'price': [1, 2, 3]

})


df.set_index(df['id'], drop=True, inplace=True)

new_df = pandas.DataFrame(index=df.index)


for var in df['cat'].unique():

    new_df[f'{var}_price'] = df[df['cat'] == var]['price']



new_df

输出 :


    cat_1_price   cat_2_price   cat_3_price

id          

1    1.0             NaN             NaN

2    NaN             2.0             NaN

3    NaN             NaN             3.0


查看完整回答
反对 回复 2022-06-02
  • 1 回答
  • 0 关注
  • 117 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信