Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.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
Python 3.x 如何对Pandas系列进行元素操作以获得新的数据帧_Python 3.x_Pandas - Fatal编程技术网

Python 3.x 如何对Pandas系列进行元素操作以获得新的数据帧

Python 3.x 如何对Pandas系列进行元素操作以获得新的数据帧,python-3.x,pandas,Python 3.x,Pandas,我有一系列的数字,比如说[1,2,3,4,5]。我想要一种高效的方法来创建一个dataframe,其中通过函数传递的每个series元素组合的结果都是相应的dataframe元素 假设函数是 def f1(a,b): return a*b + 5 然后我希望数据帧如下所示,每个单元格都是函数调用的结果,并结合了series元素 col_1___2___3___4___5__ row| 1|6, 7, 8, 9, 10 2|7, 9, 11, 13, 15 3|8,

我有一系列的数字,比如说
[1,2,3,4,5]
。我想要一种高效的方法来创建一个dataframe,其中通过函数传递的每个series元素组合的结果都是相应的dataframe元素

假设函数是

def f1(a,b):
   return a*b + 5
然后我希望数据帧如下所示,每个单元格都是函数调用的结果,并结合了series元素

col_1___2___3___4___5__
row|
  1|6,  7,  8,  9,  10
  2|7,  9,  11, 13, 15
  3|8,  11, 14, 17, 20
  4|9,  13, 17, 21, 25
  5|10, 15, 20, 25, 30

该系列有时可以多达500个元素

提前谢谢

您可以执行以下操作:

def f1(a、b):
返回a*b+5
s=[1,2,3,4,5]
df=pd.DataFrame(列=s,索引=s)
df=df.apply(λx:f1(x.name,x.index))
输出:

12345
1   6   7   8   9  10
2   7   9  11  13  15
3   8  11  14  17  20
4   9  13  17  21  25
5  10  15  20  25  30
使用熊猫

import pandas as pd

#create pandas dataframe with one column "col_" with data.
df = pd.DataFrame({'col_':list(range(1, 6))})
print(df['col_']) #this is data you provided above.

#Create a new column based on function.
b=1 #constant
df['1_'] = df['col_'].apply(lambda x: x*b+5)
#and another column
df['2_'] = df['col_'].apply(lambda x: x*(b+b)+5)