Python 将两个熊猫系列减少为一个 问题:

Python 将两个熊猫系列减少为一个 问题:,python,numpy,pandas,Python,Numpy,Pandas,我想以系列1和系列2为例,创建一个具有值的新系列(系列1、系列2)。基本上,我有两个熊猫系列,我想结合成一个。虽然这些值表示为整数,但它们是因子 前 我试过的 熊猫的功能是: concat,merge,join 到目前为止,我只能组合这些值(即,将元素添加到一起,将系列附加到彼此,或基于值合并)。因为数据集很大,所以我希望避免循环。虽然到目前为止,这是我唯一能想到的方法。我觉得有了熊猫的力量,这应该很容易做到 有什么想法吗?谢谢你看 你打算用这个做什么 In [1]: s1 = Series(

我想以系列1和系列2为例,创建一个具有值的新系列(系列1、系列2)。基本上,我有两个熊猫系列,我想结合成一个。虽然这些值表示为
整数
,但它们是
因子

我试过的

熊猫的功能是:

concat
merge
join

到目前为止,我只能组合这些值(即,将元素添加到一起,将系列附加到彼此,或基于值合并)。因为数据集很大,所以我希望避免循环。虽然到目前为止,这是我唯一能想到的方法。我觉得有了熊猫的力量,这应该很容易做到


有什么想法吗?谢谢你看

你打算用这个做什么

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)
然后你就可以重视它了

In [72]: pd.value_counts(pd.qcut(s,2))
Out[72]: 
[1, 4]    3
(4, 6]    2
dtype: int64

谢谢@Jeff,+1的优雅。我忘了zip函数了。如果其他人也这么做了。我正在分析贸易数据,有两个特点进口商和出口商。有了你们展示给我的拉链,我现在可以捕捉到它们之间的关系。例如,(美国、英国)(美国、中国)等。在一个框架中,可能更容易放在单独的列中,那么如何捕捉这种关系呢?现在,我想用它来方便绘图。例如:
df.sereies\u with_zip.value\u counts().plot(kind='bar')
以显示最频繁的交易关系,然后
(df.groupby('year')).sereies\u with_zip.value\u counts().plot(kind='bar')
以显示这种情况随时间的变化,好吧……这很有意义,您将元组视为单一对象
In [72]: pd.value_counts(pd.qcut(s,2))
Out[72]: 
[1, 4]    3
(4, 6]    2
dtype: int64