2

問題:

シリーズ 1 とシリーズ 2 を使用して、値 (シリーズ 1、シリーズ 2) を持つ新しいシリーズを作成したいと思います。基本的に、1 つに結合したい 2 つのパンダ シリーズがあります。値はそのまま表されますintsfactors

元。

Series 1   Series 2        Series 3
  1            2      ---   (1,2)
  2            3      to    (2,3)
  3            4      ---   (3,4)

私が試したこと

pandas: DataFrame で 2 つの列を結合します

パンダの機能:

concatmergejoin

これまでのところ、値を結合することしかできませんでした (つまり、要素を一緒に追加する、シリーズを互いに追加する、または値に基づいてマージする)。データセットが大きいため、ループを回避したいと考えています。それが今のところ私が考えることができる唯一の方法ですが。pandas の力を使えば、これはかなり簡単に実現できると思います。

何か案は?見てくれてありがとう!

4

1 に答える 1

3

これで何をするつもりですか?

In [1]: s1 = Series([1,2,3])

In [2]: s2 = Series([2,3,4])

In [4]: Series(zip(s1,s2))
Out[4]: 
0    (1, 2)
1    (2, 3)
2    (3, 4)
dtype: object

ここにアイデアがあります。あなたが望むものに適しているかどうかはわかりません...多分

In [70]: s = Series([1,2,4,5,6])

離散量子化器(基本的にはビンに入れます。必要に応じてビンを指定できます)は、カテゴリカルを生成します

In [71]: pd.qcut(s,2)
Out[71]: 
Categorical: 
array(['[1, 4]', '[1, 4]', '[1, 4]', '(4, 6]', '(4, 6]'], dtype=object)
Levels (2): Index(['[1, 4]', '(4, 6]'], dtype=object)

これで value_counts できます

In [72]: pd.value_counts(pd.qcut(s,2))
Out[72]: 
[1, 4]    3
(4, 6]    2
dtype: int64
于 2013-07-11T17:28:07.310 に答える