「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Python Pandas データフレームの特定のセルにリストを挿入するにはどうすればよいですか?

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

2024 年 11 月 18 日に公開
ブラウズ:630

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 要素のリストを挿入します。 string.

Solution:

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

df.at[1, 'B'] = ['foo', 'bar']

追加の考慮事項:

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

更新された例:

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

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']
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3