首页 > 其他 > 详细

pandas 数据处理遇到的问题

时间:2017-09-11 23:58:20      阅读:2164      评论:0      收藏:0      [点我收藏+]

数据为DataFrame格式,如下:

技术分享

1.对每一行,FirstCab的值为空时,Weight的值乘以0.8

方法一(可行):df.loc[df[‘FirstCab‘].isnull(),‘Weight‘] *= 0.8

方法二(可行):df[‘Weight‘] = np.where(df[‘FirstCab‘].isnull(),df[‘Weight‘]*0.8,df[‘Weight‘])

方法三(不可行):df[df[‘FirstCab‘].isnull()][‘Weight‘]  *= 0.8 或者 df.loc[df[‘FirstCab‘].isnull(),:][‘Weight‘]  *= 0.8

错误提示:A value is trying to be set on a copy of a slice from a DataFrame.Try using .loc[row_indexer,col_indexer] = value instead.

方法四(不可行):df.assign(Weight=lambda x: x[‘Weight‘]*0.8 if x[‘FirstCab‘].isnull() else x[‘Weight‘])

        或者df.assign(Weight=lambda x: x[‘Weight‘]*0.8 if x[‘FirstCab‘] == np.nan else x[‘Weight‘])

错误提示:ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

 

pandas 数据处理遇到的问题

原文:http://www.cnblogs.com/zhengyyao/p/7507936.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!