私はPythonとStackoverflowを初めて使用するので、ご容赦ください。約14万行の大きなデータファイルがcsvとして保存されています。ファイルは、年齢層に基づいてセクションに分割されます。16-24、24-50など。休憩ごとに、被験者の年齢と民族性に関する情報行があります。csvをパンダに読み込んだ後、ilocを使用して年齢層の情報行で分割することにより、データフレームをいくつかの小さなデータフレームに分割しようとしました。これで、データフレームのリストができました。リスト内の各データフレームにアクセスできますが、問題はありませんが(情報行があるためだと思います)、パンダはすべての情報を1つの列に表示します。出力をフォーマットしてパンダに列ヘッダーを表示させ、情報行を列ヘッダーの上のヘッダーに配置する方法はありますか?これがあまり明確でない場合は申し訳ありませんが、
csvのデータは次のようになります。
0 Some information
1 Some information
2 Some information
3
4
5 a | b | c | d |
6 a | 1 | 1 | 1 |
7 a | 1 | 1 | 1 |
8 a | 1 | 1 | 1 |
9
10 Some information
11 Some information
12 Some information
13
14
15 a | b | c | d |
16 a | 1 | 1 | 1 |
17 a | 1 | 1 | 1 |
18 a | 1 | 1 | 1 |
ilocを使用して、これを情報行の行インデックスで分割しました。
36065,43278,50491,57704,
64917,72130,79343,86556,
93769,100982,108195,115408,
122621,129834,137047]
l_mod = [0] + l + [max(l)+1]
list_of_dfs = [mydata_df.iloc[l_mod[n]:l_mod[n+1]] for n in range(len(l_mod)-1)]
アクセス時に使用したもの: df1_df=list_of_dfs[1]
現在、出力は次のとおりです。
0
--------------------
1 a,b,c
2 a,1,1,
これが理にかなっていることを願っています。編集を提案してください。説明するために最善を尽くします。
を試すことができdf[0].str.split(',', expand=True)
ます。これは、コンマのすべての分割に基づいてデータフレームを拡張します。次に、列名が付けられるので、新しい列名を割り当てることができます。[0, 1, 2, 3.. etc]
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加