我有一个如下所示的数据框:
datetime | hr | rmssd | neutral | happy | sad | angry |
---|---|---|---|---|---|---|
2012-09-18 13:17:00 | 61.0 | 0.061420 | 0.884570 | 0.076952 | 0.001144 | 0.017392 |
2012-09-18 13:18:00 | 64.0 | 0.049663 | 0.931965 | 0.031468 | 0.000371 | 0.023774 |
我想要的是能够创建一个新列,在每一行上指定具有最大值的列的名称:即:在第一列中,将有一个情感列,声明"中立".
for i in range(0,len(df3)):
df3['emotion']=df3[['neutral','happy','sad','angry']].max()
但我生成的数据框有一个额外的列,名为"情感",其中填充了NaN值.注意,我已经从df中删除了所有NaN值.
我还try 使用iloc:
for i in range(0,len(df3)):
df3['emotion']=df3.iloc[3:][i].max()
但那里也没有运气.有什么 idea 吗?