【发布时间】:2018-11-04 00:01:39
【问题描述】:
我有一个大约 100 万行和大约 20 列的数据框。我希望将这些列合并为一个;在同一唯一标识符列下。
为了说明,这是原始数据:
ID Column 2 Column 3
0 1001 B A
1 1002 C D
2 1003 E E
3 1004 G H
期望的结果:
ID Merged
0 1001 B
1 1001 A
2 1002 C
3 1002 D
4 1003 E
5 1003 E
6 1004 G
7 1004 H
由于我希望合并大约 20 列;我需要通过循环合并它们。我使用了下面的代码,但总是出现内存错误。
master = pd.DataFrame()
for col in original_df: # original_df is the dataframe combining the 20 columns
if col != 'ID':
temp = pd.DataFrame()
temp['ID'] = original_df['ID']
temp['Merged'] = original_df[col]
master = master.append([temp])
【问题讨论】:
-
这不是一个重复的问题。即使相同“ID”值的“合并”值相同,OP 也需要重复的“ID”值。另一个问题没有。
标签: python pandas dataframe series