首页 > 解决方案 > 在python中添加新列并用字符串填充

问题描述

我想添加一个新列并分别用字符串填充我拥有的行数。

我做了

df['new column'] = ['open', closed']

但它与我拥有的索引数量不匹配。我应该在我的脚本中添加什么,以便所需的字符串将分别出现在数据框中的行数之后。

谢谢你。

标签: pythonpandas

解决方案


如果想要解决方案适用于成对或不成对的行长度,您可以使用map列表中的字典和enumerate

df = pd.DataFrame({'a':range(5)})

L = ['open', 'closed']

df['new column'] =  (df.index % len(L)).map(dict(enumerate(L)))
print (df)
   a new column
0  0       open
1  1     closed
2  2       open
3  3     closed
4  4       open

推荐阅读