如何在Pandas DataFrame中按行将单元格值转换为列表格式?
问题描述
现有如下DataFrame:
| Column A | Column B |
|---|---|
| A | he, loves, me |
| B | she, hates, me |
需要将Column B中每行的逗号分隔字符串转换为列表格式,期望结果:
| Column A | Column B |
|---|---|
| A | [he, loves, me] |
| B | [she, hates, me] |
尝试过代码 df['Column B'] = df['Column B'].values.tolist(),但该操作是将整列转为列表,而非每行单元格内的值转为列表,寻求解决方法。
解决方案
你需要对Column B的每个字符串执行按逗号分割的操作,而非对整列的values做转列表处理。可以用Pandas的字符串方法str.split()实现:
方法1:按固定的, (逗号加空格)分割
如果字符串统一用, 分隔,直接执行:
df['Column B'] = df['Column B'].str.split(', ')
方法2:兼容任意空格(逗号后可能有/无空格)
如果分隔符不固定(比如存在, 或,两种情况),可以先分割再去除每个元素的空格:
df['Column B'] = df['Column B'].str.split(',').apply(lambda x: [s.strip() for s in x])
执行后即可得到每行单元格内值转为列表的目标效果。
内容的提问来源于stack exchange,提问作者opsv
相关产品推荐
相关产品推荐

