如何在列表中添加多个panda数据系列的项-python
我有一个“最终值”列表,其中包含熊猫系列和以下数据。我需要将多个panda系列的vales添加到一个系列中。 谁能帮帮我吗 需要根据其索引值添加值 我尝试了final_值[I]。在循环中添加final_值[I+1]。但没有起作用 数据: 预期产出:如何在列表中添加多个panda数据系列的项-python,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个“最终值”列表,其中包含熊猫系列和以下数据。我需要将多个panda系列的vales添加到一个系列中。 谁能帮帮我吗 需要根据其索引值添加值 我尝试了final_值[I]。在循环中添加final_值[I+1]。但没有起作用 数据: 预期产出: 0 -16.276548 1 4.218647 2 21.171354 3 -8.983806 4 -13.578134 5 -7.562696 谢谢 让我们试试这个: from functools imp
0 -16.276548
1 4.218647
2 21.171354
3 -8.983806
4 -13.578134
5 -7.562696
谢谢 让我们试试这个:
from functools import reduce
reduce(pd.Series.add, final_value)
例如:
print(final_values)
输入df:
[0 0.000000
1 14.522873
2 21.677418
3 10.791055
4 0.000000
5 7.176507
Name: 1, dtype: float64, 0 -16.276548
1 -16.276548
2 -15.761264
3 -16.276548
4 -16.276548
5 -17.822402
Name: 1, dtype: float64, 0 0.000000
1 5.972322
2 15.255200
3 -3.498313
4 2.698414
5 3.083199
Name: 1, dtype: float64]
from functools import reduce
reduce(pd.Series.add,final_value)
输出:
0 -16.276548
1 4.218647
2 21.171354
3 -8.983806
4 -13.578134
5 -7.562696
Name: 1, dtype: float64
时间。。。。
约翰的方法
%timeit pd.concat(final_value, axis=1).sum(axis=1)
100圈,最佳3圈:每圈3.06毫秒
函数工具归约法
%timeit reduce(pd.Series.add, final_value)
1000个回路,最好为3个:每个回路551µs
让我们试试这个:
from functools import reduce
reduce(pd.Series.add, final_value)
例如:
print(final_values)
输入df:
[0 0.000000
1 14.522873
2 21.677418
3 10.791055
4 0.000000
5 7.176507
Name: 1, dtype: float64, 0 -16.276548
1 -16.276548
2 -15.761264
3 -16.276548
4 -16.276548
5 -17.822402
Name: 1, dtype: float64, 0 0.000000
1 5.972322
2 15.255200
3 -3.498313
4 2.698414
5 3.083199
Name: 1, dtype: float64]
from functools import reduce
reduce(pd.Series.add,final_value)
输出:
0 -16.276548
1 4.218647
2 21.171354
3 -8.983806
4 -13.578134
5 -7.562696
Name: 1, dtype: float64
时间。。。。
约翰的方法
%timeit pd.concat(final_value, axis=1).sum(axis=1)
100圈,最佳3圈:每圈3.06毫秒
函数工具归约法
%timeit reduce(pd.Series.add, final_value)
1000个回路,最好为3个:每个回路551µs
在轴=1上使用pd.concat并按行求和
细节
In [598]: final_value
Out[598]:
[0 0.000000
1 14.522873
2 21.677418
3 10.791055
4 0.000000
5 7.176500
Name: 1, dtype: float64, 0 -16.276548
1 -16.276548
2 -15.761264
3 -16.276548
4 -16.276548
5 -17.822402
Name: 1, dtype: float64, 0 0.000000
1 5.972322
2 15.255200
3 -3.498313
4 2.698414
5 3.083199
Name: 1, dtype: float64]
在轴=1上使用pd.concat并按行求和
细节
In [598]: final_value
Out[598]:
[0 0.000000
1 14.522873
2 21.677418
3 10.791055
4 0.000000
5 7.176500
Name: 1, dtype: float64, 0 -16.276548
1 -16.276548
2 -15.761264
3 -16.276548
4 -16.276548
5 -17.822402
Name: 1, dtype: float64, 0 0.000000
1 5.972322
2 15.255200
3 -3.498313
4 2.698414
5 3.083199
Name: 1, dtype: float64]
只需使用sum
或者你可以用np.sum
只需使用sum
或者你可以用np.sum
需要执行行方式的附加序列具有相同的长度。在复制粘贴数据时,我会错过一些行。我遇到了问题。我会解决它。理想情况下,每个系列的长度将是相同的,因为它比pd.concat和sumOkie快5倍以上。让我试试。感谢您提供的信息,我们需要按行执行additionAll系列具有相同的长度。在复制粘贴数据时,我会错过一些行。我遇到了问题。我会解决它。理想情况下,每个系列的长度将是相同的,因为它比pd.concat和sumOkie快5倍以上。让我试试。谢谢你的邀请info@piroot谢谢你的帮助!伟大的解决方案@维沙利谢谢你。@piroot谢谢你的帮助!伟大的解决方案@瓦伊沙利:谢谢。计时:1000圈,每圈3:1.25毫秒的最佳成绩。这在高尔夫比赛中获胜-:但现在你提出了。一杆进洞是的。计时np.sum方法。10000圈,最好为3:164µs/圈压碎。你赢了!我在你面前鞠躬,大圆一号。计时:1000圈,每圈3:1.25毫秒的最佳成绩。这在高尔夫比赛中获胜-:但现在你提出了。一杆进洞是的。计时np.求和法。10000圈,最好为3:164µs/圈压碎。你赢了!我在你面前鞠躬,大圆一号。