【发布时间】:2020-01-11 15:42:44
【问题描述】:
我有一个这样的熊猫数据框
Windows Linux Mac
0 True False False
1 False True False
2 False False True
我想像这样将这三列组合成一列
OS
0 Windows
1 Linux
2 Mac
我知道我可以写一个这样的简单函数
def aggregate_os(row):
if row['Windows'] == True:
return 'Windows'
if row['Linux'] == True:
return 'Linux'
if row['Mac'] == True:
return 'Mac'
我可以这样称呼
df['OS'] = df.apply(aggregate_os, axis=1)
问题是我的数据集很大,这个解决方案太慢了。有没有更有效的方法来进行这种聚合?
【问题讨论】:
标签: python-3.x pandas performance dataframe