ホームページ >バックエンド開発 >Python チュートリアル >辞書の Pandas 列を別の列に効率的に分割するにはどうすればよいですか?

辞書の Pandas 列を別の列に効率的に分割するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-26 14:30:13122ブラウズ

How to Efficiently Split a Pandas Column of Dictionaries into Separate Columns?

辞書の 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。