私はWhole_matをpandas dfとして持っています。私はNew_matにコピーしたい有効な行としてcorpus_indexを使用していますが、列番号1,4、および7だけが必要です。しかし、順序は7,1,4です。以下は私が試みたものですが、TypeErrorを取得しています。リスト'。全体的なマットの形状は、例えば、Nx10であり、New_matにはnx3が必要です。特定の行と選択した列を抽出するためにpandasデータフレームをループする方法
New_mat = []
for i in range(len(corpus_index):
index = corpus_index[i]
New_mat.append(Whole_mat[[index], [7,1,4]])
print New_mat
私の問題を解決するにはどうすればよいでしょうか?
おそらく 'New_mat.append(Whole_mat.loc [index、[7,1,4]])'カラム名として7、1、4がある場合 –
それはerrroを投げている '' [ 7、1,4]]は[列] ''にあります。列名を文字列として与える必要がありますか? ["user_id"、 "phone_no"]のように? – impossible
はい、そうすべきです。また、 'New_mat.append(Whole_mat.loc [index、Whole_mat.columns [7,1,4]])'で 'columns'を渡すこともできます。 *注*インデックスは0から始まった。 –