私はパンダがリストや辞書を個々のセルに格納するのに「うまくいきません」と聞いたことがありますが、の詳細についてはわかりません。なぜならです。多くのユースケースでは、辞書のように、より複雑なデータ構造をPandasセルに格納するのは非常に便利です。これを「パンダ式」のやり方でどうやって行うのですか?これはすべての変更可能なデータ構造に適用されますか?DataFramesに格納する 'panda-esque'データ構造とは何ですか?
1
A
答えて
0
@EdChumが正しいので、これはおそらくあなたが探しているものではありません。非常に単純に、非スカラーオブジェクトをpd.Series
とpd.DataFrame
のセルに配置する正当な理由はほとんどありません。
はあなたが埋め込まれた辞書を使用して、オフに優れているデータフレームdf
d1 = dict(a=1, b=2, c=3)
d2 = dict(d=1, e=2, f=3)
d3 = dict(g=1, h=2, i=3)
d4 = dict(j=1, k=2, l=3)
d5 = dict(m=1, n=2, o=3)
d6 = dict(p=1, q=2, r=3)
df = pd.DataFrame(dict(
A=[d1, d2, d3],
B=[d4, d5, d6]
))
df
A B
0 {'a': 1, 'b': 2, 'c': 3} {'j': 1, 'k': 2, 'l': 3}
1 {'d': 1, 'e': 2, 'f': 3} {'m': 1, 'n': 2, 'o': 3}
2 {'g': 1, 'h': 2, 'i': 3} {'p': 1, 'q': 2, 'r': 3}
考えてみましょう。
d = df.to_dict()
d['A'][0]
{'a': 1, 'b': 2, 'c': 3}
あなたがそれらを行または列単位操作したい場合は、次にあなたがこの新しいに値を変換することができますが、さらに
from cytoolz.dicttoolz import merge
class dict_(dict):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
def __add__(self, other):
return dict_(merge(self, other))
を定義dict
のサブクラスを書くことができますクラスと...
df.applymap(dict_).sum()
A {'a': 1, 'b': 2, 'c': 3, 'd': 1, 'e': 2, 'f': ...
B {'j': 1, 'k': 2, 'l': 3, 'm': 1, 'n': 2, 'o': ...
dtype: object
または
df.applymap(dict_).sum(1)
0 {'a': 1, 'b': 2, 'c': 3, 'j': 1, 'k': 2, 'l': 3}
1 {'d': 1, 'e': 2, 'f': 3, 'm': 1, 'n': 2, 'o': 3}
2 {'g': 1, 'h': 2, 'i': 3, 'p': 1, 'q': 2, 'r': 3}
dtype: object
たり、ちょっと楽しいnumpyのオブジェクト配列
df.applymap(dict_).values.sum()
{'a': 1,
'b': 2,
'c': 3,
'd': 1,
'e': 2,
'f': 3,
'g': 1,
'h': 2,
'i': 3,
'j': 1,
'k': 2,
'l': 3,
'm': 1,
'n': 2,
'o': 3,
'p': 1,
'q': 2,
'r': 3}
を入手!どのように "パンダ - エスク"は、それが好きかわからないが、私はそれが好きです。
関連する問題
- 1. Yii2に多言語データを格納するテーブルの構造は何ですか?
- 2. ペアを格納するデータ構造
- 3. データを格納する構造
- 4. OIDを格納できるデータ構造
- 5. 履歴データを格納する正しいデータベース構造は何ですか?
- 6. 2次元テーブル構造をメモリに格納するのに適したデータ構造は何でしょうか?
- 7. ツリー構造を格納するモデルとその特性は何ですか?
- 8. データを永続的に格納できるデータ構造はありますか?
- 9. 名前と姓を格納するアルゴリズムとデータ構造
- 10. perlでデータ構造にテーブルを格納する
- 11. Redisにツリー構造を格納する
- 12. C#でアイテムのコレクションを格納するために使用するデータ構造は何ですか?
- 13. ユーザー定義のデータ構造を格納する方法は?
- 14. 位置情報を格納するための最良のデータ構造とは何ですか?
- 15. MySQLでタイムゾーンオフセットを格納するデータ型/構造
- 16. ダイナミックフィールドを格納するための適切なテーブル構造は何ですか?
- 17. 構造体inodeにデータを格納する
- 18. ディスク上にScalaデータ構造を格納する
- 19. ハードドライブにデータ構造を格納する方法
- 20. バイナリファイルのデータを構造体に格納する方法は?バイナリファイルです
- 21. mongodbに与えられたケースのデータを格納するのに良い構造は何でしょうか?
- 22. DataFrames:キーワードの配列の格納とクエリ
- 23. Javaでデータを格納するためのデータ構造が必要です
- 24. 複数のキーで値を格納するための適切なデータ構造は何ですか?
- 25. Javaオブジェクトのテーブルを格納する - データ構造
- 26. グラフのサブセットを格納する効率的なデータ構造
- 27. 数十億の整数を格納するデータ構造
- 28. ドルイドのHashMapを格納するためのデータ構造
- 29. スパース行列を格納するためのデータ構造
- 30. 構造体にベクターを格納することは可能ですか? C++
dtypeがスカラー値でない場合、ベクトル演算を実行する可能性がなくなるためです。変更可能なデータ構造とは何の関係もありません。あなたが得られるのは、列と行を検索する際の柔軟性だけですが、例えばリストを含む列の値を検索する場合、単純な 'df ['col'] =ではなくすべての行とテストを反復処理する必要があります= some_val' – EdChum
ディクショナリではパンダで、辞書要素ではいくつかのデータフレームで同様の操作をすることを想像してください。 –