Pandasで可変の列数を扱う - Python
2023-09-30 11:18:48
質問
次のようなデータセットがあります(最大で5列ですが、もっと少なくてもかまいません)。
1,2,3
1,2,3,4
1,2,3,4,5
1,2
1,2,3,4
....
pandas read_tableを使って、5列のデータフレームにこれを読み込もうとしています。私は、追加のマッサージなしでこれを読み込みたいと思います。
私が試した場合
import pandas as pd
my_cols=['A','B','C','D','E']
my_df=pd.read_table(path,sep=',',header=None,names=my_cols)
エラーが発生しました - "列名には5つのフィールドがあり、データには3つのフィールドがあります"。
データを読み込む際に、pandasに足りない列をNaNで埋めさせる方法はないでしょうか?
どのように解決するのですか?
少なくとも 0.10.1 と 0.11.0.dev-fc8de6d では)うまくいきそうな方法がひとつあります。
>>> !cat ragged.csv
1,2,3
1,2,3,4
1,2,3,4,5
1,2
1,2,3,4
>>> my_cols = ["A", "B", "C", "D", "E"]
>>> pd.read_csv("ragged.csv", names=my_cols, engine='python')
A B C D E
0 1 2 3 NaN NaN
1 1 2 3 4 NaN
2 1 2 3 4 5
3 1 2 NaN NaN NaN
4 1 2 3 4 NaN
この方法は、必要なカラムに名前を付ける必要があることに注意してください。 他の方法ほど一般的ではありませんが、それが適用されるときには十分にうまく機能します。
関連
-
[解決済み] pipでPythonの全パッケージをアップグレードする方法
-
[解決済み] Pandasのデータフレームで複数の列を選択する
-
[解決済み] 既存のDataFrameに新しい列を追加する方法は?
-
[解決済み] pandasを使った "大量データ "ワークフロー【終了しました
-
[解決済み】PandasでSettingWithCopyWarningに対処する方法
-
[解決済み】python pandasが重複したカラムを削除します。
-
[解決済み】NaNを含むPandasカラムを `int` 型に変換する
-
[解決済み] pandas.read_csvが空の値をnanではなく空文字列として読み込むようにする。
-
[解決済み] Pythonの構文に新しいステートメントを追加することはできますか?
-
[解決済み] ファブリック経由でデプロイユーザとしてvirtualenvを有効化する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 2つの線分が交差しているかどうかを確認するにはどうすればよいですか?
-
[解決済み] PythonでファイルのMD5チェックサムを計算するには?重複
-
[解決済み] Djangoで2つの日付の間を選択する
-
[解決済み] SQLAlchemy: 日付フィールドをフィルタリングする方法は?
-
[解決済み] Pandasの'Freq'タグにはどのような値が有効ですか?
-
[解決済み] 文字列から先頭と末尾のスペースを削除するには?
-
[解決済み] PythonからSMTPを使用してメールを送信する
-
[解決済み] 値で列挙名を取得する [重複]。
-
[解決済み] 古いバージョンのPythonにおける辞書のキーの並び順
-
[解決済み] pycharmがタブをスペースに自動変換する