python - 在python中添加新列并用字符串填充
问题描述
我想添加一个新列并分别用字符串填充我拥有的行数。
我做了
df['new column'] = ['open', closed']
但它与我拥有的索引数量不匹配。我应该在我的脚本中添加什么,以便所需的字符串将分别出现在数据框中的行数之后。
谢谢你。
解决方案
如果想要解决方案适用于成对或不成对的行长度,您可以使用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
推荐阅读
- api-design - 返回 true 或 false 的 API 的 API 设计
- r - 在 R 中自定义排列 tmap 图
- php - sqlsrv_query 在遇到错误时停止
- mongodb - 从 Kubernetes 集群中的应用程序访问在主机操作系统上运行的 mongo 服务
- python - 如何设置 cerberus 来验证基于 SQL 数据库模式的模型?
- sql - 不匹配的输入“覆盖”。期待:'INTO'
- c# - Okta 不记名令牌身份验证在本地工作,但不在 Azure 应用服务上
- javascript - Vue中如何实现路由之间的加载页面过渡?
- c# - 在剃须刀页面中调用接口方法会引发未处理的异常
- ios - Swift - 当模式被解除时更改呈现视图控制器的背景颜色