pandas 根据两列内容 赋值给新列

1.根据 max, min 两列 给新列Criteria赋值, 下面写的不对,求助,回答哪一个都可以哈

  1. 对于数字类型 如何在describe 函数中增加diff(range) 和unique 统计量像R 中的那样。

image.png
根据 max, min 两列 给新列Criteria赋值, 下面写的运行有结果 但是没有改变原始dfpartable['Criteria']列,求助~ 如果有更好的写法欢迎指正,非常感谢
dfpartable[(dfpartable['max']==0) &(dfpartable['min']==0)].Criteria.apply(lambda x: "1_0")
dfpartable[dfpartable['max']== dfpartable['min']].Criteria.apply(lambda x: "2_Single")
dfpartable[(dfpartable['10%']==0) & (dfpartable['90%']==0)].Criteria.apply(lambda x: "4_Main0")

    dfpartable[dfpartable['10%']==dfpartable['90%']].Criteria.apply(lambda x: "5_MainSame")
阅读 2.7k
1 个回答
  1. apply 是在对应列上调用函数,但不会该列修改原始值,你可以直接使用:

    df[(df['max'] == 0) & (df['min'] == 0)]['Criteria'] = '1_0'
  2. describe 增加这些功能的话,可以把 df.diff()df['col_name'].unique() 或者 df.drop_duplicates() 封装成函数,不是什么难事。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏