python pandasを操作する0.19。Python - 空のデータフレームを開始し、別のデータフレームからデータを取り込みます。
新しいデータフレーム(df2)を既存のデータフレーム(df1)のサブセットとして作成したいと考えています。
df2 = []
for i in range(0,N):
loc = some complicated logic
df1_sub = df1.ix[loc,]
df2.append(df1_sub)
df2 = pd.DataFrame.from_records(df2)
結果DF2が実際にデータフレームですが、内容はすべてDF1の列名で構成されています
In [1]: df1.head()
Out [1]:
col1_name col2_name col3_name
0 23 42 55
1 27 55 57
2 52 20 52
3 99 18 53
4 65 32 51
ロジックは次のとおりです。DF1はこのようになります。それは次のようになります。
In [2]: df2.head()
Out [2]:
col1_name col2_name col3_name
0 col1_name col2_name col3_name
1 col1_name col2_name col3_name
2 col1_name col2_name col3_name
3 col1_name col2_name col3_name
4 col1_name col2_name col3_name
私はそれはおそらく、リストからデータフレームへの変換に関連するのですが、私は、私はここに欠けている正確に何かわからない知っています。または、これを行うためのより良い方法がありますか?
あなたが望む 'df1.head()'と最終結果を含めてください。それは問題をより理解しやすくします。 – MYGz
私はあなたが何を求めているのかは分かりませんが、取り組むべきことがたくさんあります。絶対に必要でない限り '.ix'を使用しないでください。これを行うためにデータフレームのリストを作成する必要はありませんが、そうした場合、最後の行は 'pd.concat(df2)'に変更する必要があります。論理を構築するためにforループを使用しない可能性があるので、より多くの情報を提供してください。また、 'df2'という名前はあなたがDataFrameを持っていることを意味します。代わりに 'df_list'のようなものを使用してください。 –
forループではlocの値をチェックして、何かが間違っているかどうかを知らせるかもしれません。 – Shijo