python - pandas - 将一列转换为字符串列表后计算总体元素

标签 python pandas csv

我有一个 CSV 文件并使用它读入 pandas DataFrame df = pd.read_csv('my.csv')

我的数据如下所示:

choice    userid
A\nB\nC    111111
A\nC      222222
B         333333

通过这个 DataFrame,我想通过两个步骤来实现我的目标:

(1) 将选择列中的值按“\n”分割

(2) 计算 CSV 文件中有多少个 A、B 和 C。

我尝试过: target = df['choice'].str.split('\n') target.value_counts()

但出现错误: 类型错误:不可散列的类型:“列表”

谁能告诉我如何实现我的目标。感谢您的帮助!

最佳答案

应执行以下任一操作:

df.choice.str.split(r"[\\n]+", expand=True).stack().value_counts()

df.choice.str.split(r"[\\n]+").apply(pd.Series).stack().value_counts()

两者都应该返回:

C    2
A    2
B    2
dtype: int64

关于python - pandas - 将一列转换为字符串列表后计算总体元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46460416/

相关文章:

python - s3cmd 节点名称或服务名称已提供,或未知

python - 当我尝试将 csv 数据帧中的列添加到在 pandas 上打开的现有数据帧时,为什么我不断收到 'Nan' 值?

python - 发生异常 : TypeError:only size-1 arrays can be converted to Python scalars

python - 返回跳过 Pandas 中的 nan 值的排序索引?

c++ - 通过 C++ 解析 csv

python - 类型错误 : "quotechar" must be an 1-character string

python - Django: "Object is not iterable",当尝试修改所述对象时

python - 为什么 urllib.urlencode 将 "25"附加到结果?

python - 尝试使用 Peewee 输入 ForeignKey 字段时出现 AttributeError

objective-c - 无法生成 csv 文件