ホームページ >バックエンド開発 >Python チュートリアル >Python Pandas データフレームの特定のセルにリストを挿入するにはどうすればよいですか?

Python Pandas データフレームの特定のセルにリストを挿入するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-29 13:34:29449ブラウズ

How Can I Insert a List into a Specific Cell in a Python Pandas Dataframe?

Python Pandas データフレームのセルにリストを挿入する

パンダ データフレームの特定のセルにリストを挿入するのは、難しい作業になる場合があります。与えられた例に基づいて、さまざまなアプローチと潜在的な問題を調べてみましょう:

元の問題:

次の構造を持つデータフレーム 'df':

    A  B
0  12  NaN
1  23  NaN

と ['foo', 'bar'] を含むリスト 'abc'。目標は、このリストをセル 1B に挿入することです。

Efforts:

  1. df.ix[1,'B'] = abc: ValueError をスローします。キーと値の長さが異なるため。
  2. df.ix[1,'B'] = [abc]: 個々の要素の代わりに、'abc' リストを含むリストを挿入します。
  3. df.ix[1,'B'] = ', '.join(abc): リストの代わりに文字列を挿入します。
  4. df.ix[1,'B'] = [', '。 join(abc)]: 結合された文字列を含む 1 要素のリストを挿入します。

解決策:

非推奨の set_value メソッドは at に置き換えられました。 at を使用すると、単一の値が設定されることが保証されます:

<code class="python">df.at[1, 'B'] = ['foo', 'bar']</code>

追加の考慮事項:

  • リストの挿入に対応するためにターゲット列に dtype=object があることを確認してください。
  • 同じアプローチを、整数または文字列値を含むセルにリストを挿入する場合にも適用できます。
  • ただし、混合データ型 (整数と文字列) を含む列にリストを挿入すると、ValueError が発生する可能性があります。起こる。これは、挿入前に列を dtype=object に変換することで解決できます。

更新された例:

「abc」リストを df2.loc に挿入する[ 1,'B'] および df3.loc[1,'B']:

<code class="python">df2 = pd.DataFrame({
    'A': [12],
    'B': [nan],
    'C': ['bla']
})

df3 = pd.DataFrame({
    'A': [12],
    'B': [nan],
    'C': ['bla bla'],
    'D': [['item1', 'item2'], [11, 12, 13]]
})

df2.loc[1, 'B'] = ['foo', 'bar']
df3.loc[1, 'B'] = ['foo', 'bar']</code>

以上がPython Pandas データフレームの特定のセルにリストを挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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