Pandas数据帧保存到csv文件中

时间:2017-09-10 17:44:53

标签: python pandas csv

我想知道如何将新的pandas Series保存到不同列的csv文件中。假设我有两个csv文件,它们都包含一个列为'A'。我已经对它们做了一些数学函数,然后创建一个新的变量作为'B'。

例如:

data = pd.read_csv('filepath')

data['B'] = data['A']*10

# and add the value of data.B into a list as a B_list.append(data.B) 

这将一直持续到第一个和第二个csv文件的所有行都已读取为止。

我想在两个csv文件的新电子表格中保存一列B. 例如,我需要这个结果:

colum1(from csv1)        colum2(from csv2)     
     data.B.value             data.b.value

使用此代码:

pd.DataFrame(np.array(B_list)).T.to_csv('file.csv', index=False, header=None)

我不会得到我的首选结果。

2 个答案:

答案 0 :(得分:4)

由于pandas DataFrame中的每个列都是pandas Series。您的 B_list 实际上是一个pandas Series列表,您可以将其转换为DataFrame()构造函数,然后进行转置(或者@jezrael显示与pd.concat(..., axis=1)的水平合并)

finaldf = pd.DataFrame(B_list).T
finaldf.to_csv('output.csv', index=False, header=None)

如果csv有不同的行,则不相等的序列在相应的行中填充NAN。

答案 1 :(得分:3)

我认为您需要来自data1的{​​{3}}列,其中第data2列来自<{p}}:

df = pd.concat(B_list, axis=1)
df.to_csv('file.csv', index=False, header=None)