我想知道如何将新的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)
我不会得到我的首选结果。
答案 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)