我有以下数据框:
df:
Unnamed: 0 0 1
0 0.0 0.000000 NaN
1 1.0 2.236068 0.000000
2 2.0 3.000000 2.236068
3 NaN 0.000000 1.000000
4 0.0 0.000000 NaN
5 1.0 1.414214 0.000000
6 2.0 2.828427 1.414214
7 NaN 0.000000 1.000000
8 0.0 0.000000 NaN
9 1.0 3.162278 0.000000
10 2.0 11.401754 3.162278
11 NaN 0.000000 1.000000
12 0.0 0.000000 NaN
13 1.0 14.142136 0.000000
14 2.0 2.828427 14.142136
我试图从每组数据中获取最大值,问题是我通过多次操作生成了这个数据帧,但最后索引和标题是数字,我不能使用groupby
或 loc.
我需要的是如下内容:
df1
0
1 3.000000
2 2.828427
3 11.401754
4 14.142136
最佳答案
你绝对使用loc
!问题是您没有注意 df.columns 是整数还是字符串。既然你遇到了问题,我猜是字符串。
但是,您想要做什么并不清楚
IIUC
m = df['0'] == 0
g = m.cumsum()[~m]
df.loc[~m, '0'].groupby(g).max()
关于python - 如何从具有数字索引和标题的数据框中获取最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44770505/