Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在列表中添加多个panda数据系列的项-python_Python_Pandas_Dataframe - Fatal编程技术网

如何在列表中添加多个panda数据系列的项-python

如何在列表中添加多个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

我有一个“最终值”列表,其中包含熊猫系列和以下数据。我需要将多个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 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/圈压碎。你赢了!我在你面前鞠躬,大圆一号。