【发布时间】:2020-11-26 04:13:21
【问题描述】:
假设我有一个 df:
df=pd.DataFrame({'a':[1,2,3],'b':[4,5,6]})
我只想添加一个带有常量列表的新列c(例如:[7,8,9,10])。
当我尝试时:
df['c']=[7,8,9,10]
我明白了:
ValueError: Length of values does not match length of index
我也尝试与loc、at、ix 一起玩 - 但无法弄清楚。
我发现一个丑陋的解决方法是:
df['c'] = df['b'].apply(lambda x: [7,8,9,10])
但必须有更优雅的方式来做到这一点。
【问题讨论】:
-
这很困难是有原因的。为什么需要在 DataFrame 的每一行中存储一个列表,更不用说具有相同确切信息的列表?