pandas - 从 pandas DataFrame 中获取 3 列的最大值?
问题描述
我有一个包含 3 列的 Pandas DataFrame:
c={'a': [['US']],'b': [['US']], 'c': [['US','BE']]}
df = pd.DataFrame(c, columns = ['a','b','c'])
现在我需要这 3 列的最大值。
我试过了:
df['max_val'] = df[['a','b','c']].max(axis=1)
结果Nan
不是预期的输出:US
.
如何获得这 3 列的最大值?(如果其中一个包含怎么办Nan
)
解决方案
利用:
c={'a': [['US', 'BE'],['US']],'b': [['US'],['US']], 'c': [['US','BE'],['US','BE']]}
df = pd.DataFrame(c, columns = ['a','b','c'])
from collections import Counter
df = df[['a','b','c']].apply(lambda x: list(Counter(map(tuple, x)).most_common()[0][0]), 1)
print (df)
0 [US, BE]
1 [US]
dtype: object
推荐阅读
- bash - 来自多个 ip 的 SMBClient
- image - Flutter:如何用其他小部件包装 ImagePicker/VideoPicker?
- r - 如何在闪亮的模块中禁用和启用反应性?
- mongodb - 如何“重启”云 MongoDB Atlas 数据库
- android - 如何暂停 ListIterator
- java - 如何获取 Quantity 字段的项目数并计算 TotalTax()?
- typescript - 即使类型不匹配,打字稿也不会出错
- mysql - AWS Django Elastic Beanstalk 迁移错误
- three.js - 是否可以将立方体环境贴图围绕 Y 轴旋转 180 度?
- git - 在将发布分支合并回开发之前将开发合并到发布分支中吗?