python - 使用python使用给定的字符串迭代数据框
问题描述
我有一个 cli 论点
import os
import sys
month_year = ''
if sys.argv[1:]:
month_year = sys.argv[1]
print(month_year)
>python file.py 202012,202101,202102
现在month_year will be 202012,202001,202102 class <'str'>
我也有一个数据框
city sales
Los Angeles 2000
Florida City 1000
如何将month_year
列作为列附加到上述数据框中,以便 df 中的每条记录都映射到该字符串中的每一年?
city sales year
Los Angeles 2000 202012
Florida City 1000 202012
Los Angeles 2000 202101
Florida City 1000 202101
Los Angeles 2000 202102
Florida City 1000 202102
解决方案
如果您的起始 df 是有两行的,这应该有效:
l = ['202012','202101','202102']
df2 = pd.concat({i:df for i in l}).reset_index(level=0).rename({'level_0':'year'},axis=1)[['city','sales','year']]
推荐阅读
- python - 像素 RGB 值标识符 - 类型错误:参数必须是长度为 2 的序列
- java - ObjectOutput/ObjectInput 流如何工作?
- javascript - Javascript字符串替换没有替换我的参数
- docker - 在容器上调试 Go 进程不会监听映射的端口
- r - 如何在R中通过递归扩展项目
- flutter - 如何在行中固定位置子小部件?扑
- html - 我如何将我的 svg 在视口中间的 css 中居中?
- python - 为什么主循环停止后程序没有停止?
- python - 如何从 .txt 文件中读取 URL 以执行 requests.get 并将响应保存到文件中?
- go - 如何将 Kubernetes 操作员错误传播到 kubectl 命令行?