Python 我怎样才能简单地增加熊猫系列的元素呢?
我想在熊猫系列中增加尽可能多的行数 如果这样做效率很低,那就不难了 (示例) 使用a和b,我希望得到以下结果Python 我怎样才能简单地增加熊猫系列的元素呢?,python,pandas,Python,Pandas,我想在熊猫系列中增加尽可能多的行数 如果这样做效率很低,那就不难了 (示例) 使用a和b,我希望得到以下结果 pd.Series([3,4,4,5,5,5]) 数字是b,值是a 如果我使用熊猫,我可以通过使用两个系列来增加数量。 如果您知道如何解决此问题,请教授。与系列构造函数一起使用,只需两个系列长度相同即可: c = pd.Series(np.repeat(a.values, b)) #pandas 0.24+ #c = pd.Series(np.repeat(a.to_numpy(),
pd.Series([3,4,4,5,5,5])
数字是b,值是a
如果我使用熊猫,我可以通过使用两个系列来增加数量。
如果您知道如何解决此问题,请教授。与系列
构造函数一起使用,只需两个系列长度相同即可:
c = pd.Series(np.repeat(a.values, b))
#pandas 0.24+
#c = pd.Series(np.repeat(a.to_numpy(), b))
print (c)
0 3
1 4
2 4
3 5
4 5
5 5
dtype: int64
或者,您也可以执行以下操作:
a.loc[a.index.repeat(b)]
#for reseting index :-> a.loc[a.index.repeat(b)].reset_index(drop=True)
但这不是最好的答案:
>>> pd.Series([i for x,y in zip(a,b) for i in [x]*y])
0 3
1 4
2 4
3 5
4 5
5 5
dtype: int64
>>>
好!!非常感谢!
0 3
1 4
1 4
2 5
2 5
2 5
>>> pd.Series([i for x,y in zip(a,b) for i in [x]*y])
0 3
1 4
2 4
3 5
4 5
5 5
dtype: int64
>>>