【发布时间】:2020-05-21 12:03:05
【问题描述】:
我有一个数据框 df,其中包含特定列 col_a 中的列表。例如,
df = pd.DataFrame()
df['col_a'] = [[1,2,3], [3,4], [5,6,7]]
我想在这些列表上使用条件并应用特定的修改,包括追加。例如,假设如果列表的长度> 2,我想追加另一个元素,这是当前列表的最后两个元素的总和。所以,考虑到上面的第一个列表,我有 [1, 2, 3] 并且我想要 [1, 2, 3, 5]。
我尝试做的是:
df.loc[:, col_a] = df[col_a].apply(
lambda value: value.append(value[-2]+value[-1])
if len(value) > 1 else value)
但是对于该列的所有元素,该列中的结果是None。
有人可以帮帮我吗?
非常感谢您。
【问题讨论】:
-
欢迎来到 SO,请提供minimal reproducible example 以获得更好的回复。
标签: python-3.x pandas list if-statement apply