ホームページ >バックエンド開発 >Python チュートリアル >辞書の Pandas 列を別の列に効率的に分割するにはどうすればよいですか?
データフレームには、分割する必要がある辞書の列が含まれています。別々の列。辞書は、同じ順序で出現する同じ 3 つのキー (「a」、「b」、「c」) で構成されていますが、長さは異なる場合があります。 pandas.concat() を使用した以前の正常なソリューションは IndexError で失敗するようになりました。
この問題は、データが辞書オブジェクトではなく Unicode 文字列としてエンコードされているために発生します。これを解決するには:
ast.literal_eval() を使用して Unicode 文字列を変換します:
json_normalize を適用する前に、次を使用して Unicode 文字列を辞書に変換します。 ast.literal_eval():
import ast df['Pollutant Levels'] = df['Pollutant Levels'].apply(ast.literal_eval)
json_normalize を使用して JSON を正規化します:
pandas.json_normalize() を使用して辞書の列を個別に分割しますcolumns:
df2 = pd.json_normalize(df['Pollutant Levels'])
このソリューションは、コストのかかる適用関数の使用を回避し、より効率的で堅牢なアプローチを提供します。
以上が辞書の Pandas 列を別の列に効率的に分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。