2017-03-28 8 views
2
例えば

パンダのDataFrameの列に値を設定するにはどうすればよいですか?

は、私が得たdfのように:私はこのような列 'Y' の値を変更したい

x y 
A 1 1 
B 2 2 
C 3 3 

x y 
A 1 56 
B 2 45 
C 3 34 

をI持っていた配列の値a = [56, 45, 34]

.set_valueを使用して値を変更することができます:

df.set_value('A', 'y', a[0]) 
df.set_value('B', 'y', a[1]) 
df.set_value('C', 'y', a[2]) 

しかしdfが配列の場合、私が行うことができます。

df[:, 1] = a 

は、データフレームの列に値を設定するための上記のような方法はありますか?

答えて

2

あなたが試すことができます。

df.loc[:, 'Y'] = a 

これは設定する必要があります(すべてのインデックス、列 'Y')の配列にDF、SettingWithCopyWarningメッセージなし。これはまた、pandas-docによると推奨される方法です。

+0

をあなたに情報を追加しますコードスニペットは良い練習です! –

+1

@Alex Cio、私はここでも少し新しくなっています。あなたは上記のためにどのような情報を追加すべきかの例を挙げることができますか? – Yeile

+0

問題のない男!私は説明を話しているだけでなく、スニペットを残して、他の人があなたのコードをポストするときにあなたが何を理解するかもしれないようにします。 –

0

データフレームの作成:

あなたが機能をILOC使用して、次のように配列を渡すことができ
df 
Out[]: 
    x y 
A 1 1 
B 2 2 
C 3 3 

df['y'].iloc[0:3]=[56, 45, 34] 

df 
Out[]: 
    x y 
A 1 56 
B 2 45 
C 3 34 
0

あなただけの以下のものが必要です。

df['Y'] = a  
+1

コピーに潜在的なフラグを立てる価値があります:http://pandas.pydata.org/pandas-docs/stable/indexing .html#indexing-view-versus-copy – FLab

関連する問題