【发布时间】:2020-12-19 08:18:34
【问题描述】:
我有一个像这样排列的庞大数据集
Serial Val1 Val2 Val3
1 21.10
1 43.06
1 32.12
2 11.20
2 22.20
3 45.10
3 14.16
4 34.90
4 12.12
4 18.09
我想对每个唯一序列进行分组并将其对应的值(从 Val1 到 Val3)合并到一列 ['All'] 并放置一个 ['Source'] 列。
Serial Val1 Val2 Val3 All Source
1 21.10 21.10 Val1
1 43.06 43.06
1 32.12 32.12
2 11.20 11.20 Val2
2 22.20 22.20
3 45.10 45.10 Val1
3 14.16 14.16
4 34.90 34.90 Val3
4 12.12 12.12
4 18.09 18.09
我试着做这样的事情,
df['All'] = df['Serial'].map(df.groupby('Serial').apply(lambda x: x['Val2'] if pd.isnull(x['Val1']) else x['Val3'])
【问题讨论】:
标签: python python-3.x pandas