列表追加到熊猫单元格中
Posted
技术标签:
【中文标题】列表追加到熊猫单元格中【英文标题】:List append in pandas cell 【发布时间】:2018-04-30 15:10:50 【问题描述】:我有一个数据框,其中包含列中的列表项。
示例: df:
column1, column2, column3
1 'c' ['d']
2 'x' []
3 'foo' ['car']
所以我想将另一个项目附加到 column3
结果应该是这样的
column1, column2, column3
1 'c' ['d','t']
2 'x' ['t']
3 'foo' ['car','t']
目前我使用这样的方法
df['column3']=df['column3'].apply(lambda x: x.append('t'))
但是 column3 变成了
column1, column2, column3
1 'c' none
2 'x' none
3 'foo' none
想知道如何使用 apply 函数来做到这一点
【问题讨论】:
【参考方案1】:只需使用:
df['column3'] += ['t']
而不是apply
。问题是.append
工作就地 并返回None
如果你真的想使用.apply
+ lambda
,你当然可以做一些傻事:
df.column3.apply(lambda x: x.append('t') or x)
【讨论】:
你赢了 15 秒,很好的解决方案 :-) 遗憾的是,这不适用于 Pandas 1.x:TypeError:只能将列表(不是“str”)连接到列表或 TypeError:无法使用下面是使用apply()
的方法。使用+
而不是append()
。
df.column3 = df.column3.apply(lambda x: x+['t'])
【讨论】:
以上是关于列表追加到熊猫单元格中的主要内容,如果未能解决你的问题,请参考以下文章