如何将一个csv文件中的列追加到第二个csv(具有不同的索引)

时间:2019-06-25 23:27:38

标签: python pandas csv

我正在将多个csv文件连接在一起,并希望从多列csv中提取一列,并将其作为新列附加到第二个csv中。问题在于列的行数不同,因此一旦达到现有csv的行索引,我要添加到现有csv的新列就会被缩短。

我试图读取新列作为第二个数据框,然后将该数据框作为新列添加到现有的csv中。

df = pd.read_csv("Existing CSV.csv")
df2 = pd.read_csv("New CSV.csv", usecols = ['Desired Column'])
df["New CSV"] = df2

“现有CSV”具有1200行数据,而“新CSV”具有1500行。当我运行代码时,“新CSV”列将添加到“现有CSV”中,但是,仅包括前1200行数据。

理想情况下,“新CSV”中的所有1500行将被包括在内,“现有CSV”中缺少的300行将留为空白。

1 个答案:

答案 0 :(得分:0)

默认情况下,read_csv为所得的DataFrame提供一个整数索引,因此我可以考虑尝试几个选项。

设置

df = pd.read_csv("Existing CSV.csv")
df2 = pd.read_csv("New CSV.csv", usecols = ['Desired Column'])

方法1:join

df = df.join(df2['Desired Column'], how='right')

方法2:reindex_likeassign

df = df.reindex_like(df2).assign(**{'Desired Column': df2['Desired Column']})