ホームページ >バックエンド開発 >Python チュートリアル >辞書の Pandas 列を別の列に効率的に分割するにはどうすればよいですか?
辞書の Pandas 列を個別の列に分割する方法
Pandas DataFrame では、辞書を含む列に遭遇する可能性があります。これらのディクショナリから値を個々の列に抽出するには、 json_normalize 関数が効率的な解決策です。
次のコードはプロセスを示しています。
import pandas as pd df = pd.DataFrame() # Your existing DataFrame with the dictionary column df2 = pd.json_normalize(df['Pollutant Levels'])
これにより、次のデータフレーム df2 が作成されます。 「汚染レベル」辞書の列の値が別の列に分割されました。
異なる長さの処理リスト:
提供された要件では、辞書内のすべてのリストに同じ 3 つのキー ('a'、'b'、'c') が含まれるが、必ずしも同じ長さである必要はないことが指定されています。これに対応するために、コードでは json_normalize を使用します。これは、欠損値を NaN で埋め込むことで変数リストの長さを自動的に処理します。
Unicode の問題解決:
辞書の値がUnicode 形式 (u{'a': '1', 'b': '2', 'c': '3'} の代わりに) {u'a': '1', u'b': '2', u'c': '3'})、コードは引き続き正しく機能します。 json_normalize は両方のタイプの Unicode 文字列を処理できます。
Unicode の例:
PostgreSQL データベースから Unicode 形式でインポートされたデータの場合:
import pandas as pd # Convert the Unicode strings to strings df['Pollutant Levels'] = df['Pollutant Levels'].astype('unicode') # Use json_normalize to split the dictionary column df2 = pd.json_normalize(df['Pollutant Levels'])
これにより、Unicode 文字列が通常の文字列に変換され、辞書の列が個別の列に分割されます。
以上が辞書の Pandas 列を別の列に効率的に分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。