从熊猫数据框中的列创建新列

超级未知

我有 2 个熊猫数据框 df1df2

df1

ID 姓名 年龄
1 16
2 17

df2

ID 分数
1 16
2 8

然后我合并两个数据帧:

mergedf = df1.merge(df2, on='id', how='left')

毕竟我将创建一个新的数据框,它应该有来自df1 的列 id 和 name ,来自df2 的列分数,另外还有一个新列(diff),它将是分数和年龄之间的差异,另一个名为 status 的列将是以下结果if 'age' == 'score' then 'OK' else 'false'

这是新数据框的代码

newDF = mergedf[['id','name','score','diff', 'status']]

但是我仍然不清楚我应该如何嵌套这段代码

if 'age' == 'score' then 'OK' else 'false'

生成新的列差异和状态。

It_is_Chris

使用diff来计算整个列的差异,然后用numpy.where你的病情

mergedf = df1.merge(df2, on='id', how='left')
mergedf['diff'] = mergedf[['age', 'score']].diff(axis=1)['score']
mergedf['status'] = np.where(mergedf['diff'] == 0, 'OK', False)
print(mergedf)

   id  name  age  score  diff status
0   1   Joe   16     16     0     OK
1   2  Jane   17      8    -9  False

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章