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

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

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-16 21:10:14117ブラウズ

How can I efficiently split a Pandas DataFrame column of dictionaries into separate columns?

Pandas を使用して辞書の列を個別の列に分割する

Pandas でデータフレームを操作する場合、辞書を含む列がよく発生します。価値観。これらの列を個別の列に分割すると、データの構成とアクセシビリティが向上します。

次のデータフレームを考えてみましょう:

Station ID     Pollutants
8809           {"a": "46", "b": "3", "c": "12"}
8810           {"a": "36", "b": "5", "c": "8"}
8811           {"b": "2", "c": "7"}
8812           {"c": "11"}
8813           {"a": "82", "c": "15"}

「汚染物質」列を個別の「a」、「b」、「b」に分割するには、および「c」列では、Pandas バージョンで導入された json_normalize 関数を使用できます0.23.0:

import pandas as pd

df2 = pd.json_normalize(df['Pollutants'])

このアプローチは効率的であり、コストがかかる可能性のある適用関数の使用を回避します。結果の DataFrame df2 は次のようになります。

Station ID     a      b       c
8809           46     3       12
8810           36     5       8
8811           NaN    2       7
8812           NaN    NaN     11
8813           82     NaN     15

結果の DataFrame には、欠落している辞書キーの null 値 (NaN) が含まれることに注意してください。このようなケースに対処するには、fillna メソッドを使用して欠損値をデフォルト値に置き換えるか、カスタム ロジックを適用します。

以上が辞書の Pandas DataFrame 列を個別の列に効率的に分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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