2017-08-01 11 views
2

私は2列と2rowsを持つ単純なデータフレームを持っています。 私は4つの数字のリストも持っています。パンダにギザギザのデータフレームを作成できませんか?

このリストをデータフレームの最初の列に連結し、最初の列のみを連結したいとします。したがって、データフレームの最初の列には6行、2番目の列には6行が含まれます。

私はこのコードを書いた:

df1 = pd.DataFrame([[1, 2], [3, 4]], columns=list('AB')) 
numbers = [5, 6, 7, 8] 
for i in range(0, 4): 
    df1['A'].loc[i + 2] = numbers[i] 
print(df1) 

それは奇妙なことに、元のデータフレームを出力します。しかし、式df1['A']をデバッグして評価すると、新しい数値が表示されます。何が起きてる?

to_csvメソッドを使用すると、元のdfが印刷されているだけでなく、オリジナルのdfがcsvに書き込まれます。

答えて

1

あなたが必要なようだ:

for i in range(0, 4): 
    df1.loc[0, i] = numbers[i] 
print (df1) 
    A B 0 1 2 3 
0 1 2 5.0 6.0 7.0 8.0 
1 3 4 NaN NaN NaN NaN 

df1 = pd.concat([df1, pd.DataFrame([numbers], index=[0])], axis=1) 
print (df1) 
    A B 0 1 2 3 
0 1 2 5.0 6.0 7.0 8.0 
1 3 4 NaN NaN NaN NaN 
関連する問題