2017-09-10 12 views
0

新しいパンダシリーズを別の列のcsvファイルに保存する方法を知りました。私は両方の列に 'A'が含まれている2つのcsvファイルがあるとします。私はそれらの上でいくつかの数学的な関数を行って、新しい変数を 'B'として作成します。例えばパンダデータフレームをcsvファイルに保存

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) 

これは、第1および第2の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) 

私は好ま結果を得ることはありません。

答えて

1

。あなたのB_listは、実際には、その後、転置DataFrame()コンストラクタにキャストすることができパンダSeriesのリストである(または@jezraelがpd.concat(..., axis=1)水平マージ示したように)

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

をし、CSVする必要があり、不平等シリーズ異なる行を持っています対応する行のNANで満たされます。

+0

私はpythonとpandasには新しいです:)。助けてくれてありがとう。 – Elham

2

私はあなたが最初data2から列をdata1からconcat列が必要だと思う:パンダDataFrameの各列はパンダSeriesあるので

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

ご回答ありがとうございますが、私はdata1とdata2を持っていません。データはすべてのcsvファイルが読み込まれるまで私のループで更新されます。 – Elham

+1

'data1'は' Dataframe'1と 'data2'の第2のDataframeの名前です。 – jezrael

+0

私は2つのデータフレームも持っていません。元のcsvファイルは新しい列Bによって更新され、ループではこの列が毎回更新されます。私はデータを失う前にこの列を新しいCSVファイルに保存したいと思います。私が何を意味するのかよく分かりません。 – Elham

関連する問題