python - 使用 pandas 访问 CSV 文件中方括号内的数字?

标签 python pandas csv

假设我有这种文件。

data

如何访问“有用”栏中的数字?我需要单独的数字。最好是我实际上可以将它们存储在 helpful_1helpful_2 列中。

我可以做这样的事情。

enter image description here

但说实话我不太喜欢这种方式。我认为这也不是最佳实践。顺便说一下,这是一个相当大的文件(~2GB),所以这可能不是最好的方法。也许有更好的方法来访问它作为数据帧?有什么想法吗?

我还想知道 CSV 中的方括号被视为什么。它们是某种列表吗?还是没有任何意义?

谢谢。

更新:我已在下面回答了我的问题。但我仍然愿意接受一些新的建议,因为我不太确定自己的解决方案。如果有更优雅、更高效的解决方案,我真的很想知道。另外,感谢所有评论/回答的人,非常感谢每一个帮助。

最佳答案

编辑处理字符串:

df_out = df.assign(**df.helpful.apply(lambda x: pd.Series(eval(x))).rename(columns={0:'helpful_1',1:'helpful_2'}))

你可以这样做:

df.assign(**df.helpful.apply(pd.Series).rename(columns={0:'helpful_1',1:'helpful_2'}))

输出:

   helpful  number  helpful_1  helpful_2
0   [0, 1]       1          0          1
1   [0, 3]       2          0          3
2   [5, 6]       3          5          6
3  [8, 10]       4          8         10
4   [2, 5]       5          2          5

关于python - 使用 pandas 访问 CSV 文件中方括号内的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45634270/

相关文章:

python - Azure 机器学习工作室和 OpenCV

python - 如何在 PyTorch 中标准化图像

python - 既不是 GROUPED 也不是 AGGREGATED 的列 X - StandardSQL/BigQuery

python - 如何从 Pandas 中类似的字典中获取 "index"?

python - pandas 将两列与自定义文本合并

python - 写入 csv 会在引号周围加上引号,并在整个单元格周围加上引号

xml - 高速 XSLT 将 XML 转换为 CSV

mysql - 从带有标题的 MySQL 导出 CSV 文件的排序问题

python - 在我的项目中,当我安装 django-filebrowser 时发生了一些冲突,仅样式冲突没有任何功能冲突

python - 计算单元格列表中出现的字符串