我想参加系列1和系列2并创建一个带有值的新系列(系列1,系列2)。基本上,我有两个大熊猫系列,我想合并为一个。虽然这些值表示为ints
,但它们是factors
。
实施例。
Series 1 Series 2 Series 3
1 2 --- (1,2)
2 3 to (2,3)
3 4 --- (3,4)
pandas: combine two columns in a DataFrame
pandas功能:
concat
,merge
,join
到目前为止,我只能组合这些值,(即将元素添加到一起,将系列相互追加,或者根据值进行合并)。因为数据集很大,所以我希望避免循环。虽然这是迄今为止我能想到的唯一方法。我觉得这应该很容易用大熊猫的力量来完成。
有什么想法吗?谢谢你看看!
答案 0 :(得分: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_countsIn [72]: pd.value_counts(pd.qcut(s,2))
Out[72]:
[1, 4] 3
(4, 6] 2
dtype: int64