【发布时间】:2022-01-19 17:05:30
【问题描述】:
我有一个庞大的数据集,其中包含以下列:“Eas_1”、“Eas_2”等到“Eas_40”和“Nor_1”到“Nor_40”。我想自动创建多个单独的数据集,其中包含以相同数字结尾的所有列(按列名称编号分组)和作为值粘贴在新列中的列编号 (Bin)。
我的数据框:
df = pd.DataFrame({
"Eas_1": [3, 4, 9, 1],
"Eas_2": [4, 5, 10, 2],
"Nor_1": [9, 7, 9, 2],
"Nor_2": [10, 8, 10, 3],
"Error_1": [2, 5, 1, 6],
"Error_2": [5, 0, 3, 2],
})
我不知道如何创建Bin 列并粘贴列名值,但我可以像这样手动分离数据集:
df1 = df.filter(regex='_1')
df2 = df.filter(regex='_2')
这对我来说需要付出很多努力,而且每次获得新数据时我都必须更改脚本。这就是我想象的最终结果:
df1 = pd.DataFrame({
"Eas_1": [3, 4, 9, 1],
"Nor_1": [9, 7, 9, 2],
"Error_1": [2, 5, 1, 6],
"Bin": [1, 1, 1, 1],
})
提前致谢!
【问题讨论】:
标签: python pandas dataframe group-by