pandas - 为什么 Pandas df.mode() 在实际模态值之前返回零?
问题描述
当我在下面的数据帧上运行 df.mode() 时,我在预期输出之前得到一个前导零。这是为什么?
df
sample 1 2 3 4 5 6 7 8 9 10
zone run
2 5 14 12 22 23 24 22 23 22 23 23
print(df.iloc[:,3:10].mode(axis=1)))
给
0
zone run
2 5 23
期待
zone run
2 5 23
解决方案
我的想法是,df.mode
返回一个数据框。默认情况下,如果没有给出列值,数据框会将索引分配为列名。在这种情况下,0
分配,因为这是 pandas/python 开始计数的方式。因为它是一个数据框,所以更改列名(在这种情况下是索引)的唯一方法是应用该.rename(columnn)
方法。因此,要获得您需要的东西,您将不得不这样做;
df1.iloc[:,3:10].agg('mode', axis=1).reset_index().rename(columns={0:''})
zone run
0 2 5 23
推荐阅读
- sql-server - 为什么我不断收到此查询错误?
- python-3.x - 熊猫数组到列(需要将字母转换为单词)
- java - 无法解析符号'@+id/editName
- python - 如何在 Python 中确定对象的值
- tensorflow - 我们在 YOLO 的输出层使用了哪个激活函数?
- bash - 在 Bash 中使用 Expect 创建用于用户身份验证的 SSH 密钥对
- python - 为什么从 NumPY 数组中读取 CDF 文件的速度如此之慢
- angularjs - 使用 `ng-repeat` 制作一个 8x8 大小的表格
- github - 让任何人在未经审查的情况下推送到 Github 上的分支
- c# - 如何使用带有 pin 码的 USB 令牌对字节进行签名?