我想在现有的csv中添加多个列。我的数据如下:
50451 51151 53266
100 100 100
1 1 1
其中以(50 ...)开头的数据是列,而在其下方的是行。 我还有另一个与此类似的数据集:
50014 50013 54567
50 100 100
我正在使用此代码将其更改为csv:
df.to_csv('fort.csv', index = False)
但它的作用是,用新列替换旧列。由于,我必须添加多列,所以不能每次都使用df ['50014']。如果你们能提出建议,我将不胜感激。
答案 0 :(得分:3)
您可以使用merge
后缀来实现。如果存在具有相同名称的列,则后缀可以解决该问题。
后缀:(str,str)的元组,默认值('_x','_y')
后缀分别应用于左侧和右侧的重叠列名称。要在重叠的列上引发异常,请使用(False,False)。
r = pd.merge(df, df, right_index=True, left_index=True, suffixes=('_left', '_right'), how='outer')
print(r)
为简单起见,我再次使用相同的df
:
50451 51151 53266
0 100 100 100
1 1 1 1
50451_left 51151_left 53266_left 50451_right 51151_right 53266_right
0 100 100 100 100 100 100
1 1 1 1 1 1 1
重要的是使用外部联接。
Merge
与join
相同,除了join可能很方便之外,因为默认情况下它用于索引(索引)。它们共享相同的代码库;)。