python - Pandas:现有列中具有最大值的新列
问题描述
我很难理解如何在没有迭代的情况下进行基本的数据操作,所以如果我不再有意义,试着对我放轻松。假设我有一个df
如下所示的数据框:
f1 f2 f3 f4
1 1 2 3 'Sari'
2 2 1 4 'Sally'
3 3 0 1 'Jose'
我想知道如何获得每行中的最大整数。我可以将其存储在新列 f5 中。所以,也许代码
df['f5'] = ??? #I'm stuck...
解决方案
In [2682]: df
Out[2682]:
f1 f2 f3 f4
1 1 2 3 'Sari'
2 2 1 4 'Sally'
3 3 0 1 'Jose'
In [2684]: df['f5'] = df.select_dtypes('number').max(axis=1)
In [2685]: df
Out[2685]:
f1 f2 f3 f4 f5
1 1 2 3 'Sari' 3
2 2 1 4 'Sally' 4
3 3 0 1 'Jose' 3
df.select_dtypes('number')
dtype
仅选择具有asint
或的那些列float
。这可确保max
仅对数字列而不是字符串列进行计算。
axis=1
在行级计算函数。
axis=0
计算列级的函数。
推荐阅读
- python - Python从其他函数调用函数并传递参数
- c - 一种有效解析函数指针声明语法的方法
- jenkins - 从 Jenkins 扫描成功的 github 操作
- reactjs - 如何测试/模拟 socket.io 客户端
- android - 对 Android 可折叠/翻盖手机的布局支持
- css - 如何使用 CSS 制作像这样的老式像素完美斜面?
- google-cloud-platform - GCP Billing API 缓存信息?
- android - Wear OS - 模拟按下按钮使屏幕暂时变亮
- latex - 超过 99 篇在 Overleaf LaTeX 中使用 natbib 的参考文献
- jquery - 隐藏
- 带有特定标签
里面的标签 - 带有特定标签