2017-07-11 10 views
1

パンダデータフレームにcsvファイルを読み込み、データフレームで簡単な操作をしたいと思っています。元のデータフレームから選択した列に基づいて新しいデータフレームを作成する方法を理解できません。私の試み:既存のデータフレームの特定の列から新しいパンダデータフレームを作成する

names = ['A','B','C','D'] 
dataset = pandas.read_csv('file.csv', names=names) 
new_dataset = dataset['A','D'] 

元のデータフレームから列AとDを持つ新しいデータフレームを作成したいと思います。

+2

サブ選択する関心のCOLSのリストを渡し: 'new_dataset =データセット[[ 'A'、 'D']'なおもしコピーを操作しようとするなら、 'copy()'を呼んでください: 'new_dataset = dataset [['A'、 'D']]。 – EdChum

答えて

0

それはsubsetと呼ばれる - []で列のリストを渡さ:必要性だけでフィルタリングされた出力がread_csvにパラメータusecolsを追加した場合

new_dataset = dataset.loc[:, ['A','D']] 

dataset = pandas.read_csv('file.csv', names=names) 

new_dataset = dataset[['A','D']] 

と同じものです

new_dataset = pandas.read_csv('file.csv', names=names, usecols=['A','D']) 

EDIT:

のみを使用する場合:

new_dataset = dataset[['A','D']] 

と取得明らかに、いくつかのデータ操作を使用します。

値はデータフレームからのスライスのコピーに設定されてしようとしています。
あなたがnew_datasetで値を変更した場合、後であなたは変更が元のデータ(dataset)に伝播しないことがわかります.LOC [row_indexer、col_indexer] =値の代わりに

を使用してみてください、そしてパンダは警告をしていること。

としてはEdChumが削除警告ためcopyを追加指摘:

new_dataset = dataset[['A','D']].copy() 
関連する問題