python - 如何使用函数迭代python中数据框的每两列?
问题描述
有一个excel文件,我必须阅读它的每两列并对其进行一些处理,并最终将它们垂直连接到两列数据框中。
我为第 0 列和第 1 列编写过程,现在我正在努力生成一个函数来对所有两组列执行相同的操作。
我首先从 excel 中选择了前两列,如下所示
data1 = pd.read_excel('Book2.xlsx', usecols=[0,1],parse_dates=True)
如何从列 (0,1) (2,3) (4,5) (6,7) 生成 data1 到 data5 并执行 pd.concat([data1,data2,data3,data4,data5])
我无法剪切 Excel 文件,但它看起来像
stocks = [('2021-01-04', 113.4377, '2021-01-04','Nan'),
('2021-01-07', 125.8316, '2021-01-07',127.8212),
('2021-01-14', 108.4792, '2021-01-14',111.0318),
('2021-01-21', 99.584, '2021-01-21',144.6129),
]
df = pd.DataFrame(stocks,columns =['DateA', 'StockA', 'DateB', 'StockB'])
df
解决方案
您可以读取整个数据集,在 df.columns 上循环并将所有数据集保存在字典中:
data = pd.read_excel('Book2.xlsx', parse_dates=True)
d={}
for i in range(5):
d['data_' + str(i+1)] = data[data.columns[i*2:i*2+2]]
最后连接所有数据集:
result = pd.concat([i for i in d.keys()])
推荐阅读
- python-3.x - 如何检查 CSV 文件是否为空并在 Python 中向其中添加数据?
- mysql - 在不选择表的情况下填充mysql中的行数的方法
- arrays - 在反应中将类添加到数组的一个元素
- microsoft-graph-api - 如何使用 microsoft graph API 从事件中获取正确的与会者响应状态?
- stored-procedures - 创建存储过程时如何解决无效列名错误?
- c# - 反序列化返回特定字段为 JObject 或 JArray 的 JSON
- ios - 在 iOS 13 中使状态栏不透明并着色
- python - 使用 QuerySet 在 Django 模型中计算属性
- java - Java 8 过滤但返回所有对象
- r - 带 ggplot 的线图(分类 x 轴)