我有一个 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/