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

エラーなしでリストを Pandas DataFrame セルに挿入する方法は?

2024 年 11 月 6 日に公開
ブラウズ:487

How to Insert Lists into Pandas DataFrame Cells Without Errors?

Pandas セルへのリストの挿入

問題

Python で Pandas DataFrame のセルにリストを挿入しようとすると、エラーまたはエラーが発生する可能性があります。予想外の結果。たとえば、DataFrame のセル 1B にリストを挿入しようとすると、 df:

df = pd.DataFrame({'A': [12, 23], 'B': [np.nan, np.nan]})
abc = ['foo', 'bar']

次の例では、abc リストを 1B に挿入しようとしますが、エラーまたは間違った挿入が発生します:

  1. df.ix[1] ,'B'] = abc - エラー: iterable
  2. df.ix[1,'B'] = [abc] で設定する場合は、等しい len キーと値が必要です。 - 1 つの要素を含むリストを挿入します。 [['foo', 'bar']]
  3. df.ix[1,'B'] = ', '.join(abc) - 文字列を挿入します: "foo, bar"
  4. df.ix[1,'B'] = [', '.join(abc)] - 1 つの要素を含むリストを挿入します: ['foo, bar']

Solution

リストをエラーなく DataFrame のセルに挿入するには、常に単一の値を参照する at メソッドを使用します:

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

これにより、期待どおりに abc リストが 1B に挿入されます:

    A  B
0  12  NaN
1  23  ['foo', 'bar']

リストの挿入を許可するには、DataFrame 列に dtype=object が必要であることに注意してください。例:

df['B'] = df['B'].astype('object')
最新のチュートリアル もっと>

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

Copyright© 2022 湘ICP备2022001581号-3