【问题标题】:Pandas value_counts returning multiple lines for the same valuePandas value_counts 为相同的值返回多行
【发布时间】:2020-01-30 17:26:55
【问题描述】:

遇到 Pandas 问题,我的数据框 value_counts 调用返回相同值的多行。它不是将所有“真”值和所有“假”值分组,而是将它们分成 4 组。

这是我的代码:

import pandas as pd

filepath=r"C:\Users\09.41.csv"

df = pd.read_csv(filepath)

print(df['Finished'].value_counts())

输出:

真 3904

真正的 1877

假 190

假 94

我希望能够将所有“真”和“假”响应组合在一起进行分析,但我一直卡在这 4 组而不是 2 组。

运行 Python 3.7.4,CSV 直接来自调查软件 (Qualtrics)。

提前感谢您的帮助!

【问题讨论】:

  • 很可能True 和False 是有空格的字符串,试试print(df['Finished'].str.strip().value_counts()) 可能是?
  • 我认为你在做某事。当我运行它时,它返回“True 3904,False 190”。我怎样才能用空格保留真假并将它们与其他的结合起来?

标签: python python-3.x pandas csv


【解决方案1】:

检查您的值数据类型。有些行可能是字符串,有些可能是布尔值。例如:

[True,'True','False',False,False]

如果是这种情况,请将它们全部更改为布尔值,然后计算值:

df.Finished.apply(lambda x: 'True' in x if type(x)!= bool else x).value_counts()

【讨论】:

  • 这帮助我解决了我的问题!该列是一个 Object 数据类型,所以我强制它为 bool,现在我收到了正确的值计数。非常感谢!
猜你喜欢
  • 1970-01-01
  • 2021-07-29
  • 2021-06-15
  • 1970-01-01
  • 2018-12-14
  • 2021-01-07
  • 2012-04-22
  • 2016-06-02
相关资源
最近更新 更多