这里有一个相对较新的Python脚本编写器,其中包含有关Pandas和DataFrames的快速问题。在Python中可能有一种更简单的方法来做我正在做的事情(在Pandas之外),所以我对所有建议持开放态度。
我有一个大型数据集(不是我们所有人),拥有数十个属性和数万个条目。我已成功打开它(.csv文件)并删除了练习中不必要的列,以及我从其他问题中学到的使用过的熊猫技术,以便将表格放在我可以使用的东西上
作为一个例子,我现在有数据帧idxmax
,有三列--A,B和C.我需要找到A的最大值索引,然后在该索引处拉出B和C的值。根据对最佳方法的研究,似乎MaxIDX = df['A'].idxmax()
是最佳选择。
at
这给了我正确的答案,但是当我尝试使用基于此变量的idxmax
获取值时,我收到错误。我相信这是因为variable = df.at[MaxIDX, 'B']
产生一个系列,而不是整数输出。
at
所以我的问题有两个部分。
如何将系列转换为+-----------+------------+---------------+--------+
| playerID | AA | BB | CC |
+-----------+------------+---------------+--------+
| Adam | 5 | 2 | 10 |
| Josh | 12 | 3 | 10 |
| Sam | 8 | 5 | 15 |
| Adam | 2 | 5 | 25 |
| Sam | 4 | 4 | 5 |
| Josh | 10 | 3 | 6 |
| Adam| 4 | 2 | 7 |
+-----------+------------+---------------+--------+
的正确输入?并且,有一种更简单的方法可以做到这一点,我完全失踪了吗?我想做的就是得到A列最大值的索引,然后在该索引处拉出B列和C列的值。
感谢任何帮助。谢谢你!干杯!
注意: 使用:Python 3.6.4和Pandas 0.22.0
答案 0 :(得分:0)
df.at[df.A.idxmax(), 'B']
1.8675579901499675
你声称失败了,似乎对我有用:
loc
虽然根据您的解释,您可能需要at
,而不是df.loc[df.A.idxmax(), ['B', 'C']]
B 1.867558
C -0.977278
Name: 1, dtype: float64
:
.mob-Logo {
display: none;
}
@media only screen and (max-width: 767px) {
.desk-Logo {
display: none;
}
.mob-Logo {
display: block;
}
}
注意:您可能想要检查索引是否包含重复条目。这是失败的一个可能原因。