Python中的assign()函数主要用于合并多个DataFrame或Series,按照给定的关键字或索引重叠方式进行连接。下面是该函数的详细使用攻略。
assign()函数的语法结构
DataFrame.assign(**kwargs)
其中,kwargs可以是一系列类似于‘column_name = expression’的参数,其中expression是一个可调用的函数,该函数可以访问一个接受者DataFrame,并返回一个结果DataFrame。
assign()函数的参数说明
**kwargs:字典或参数集。
assign()函数的返回值
返回一个新的DataFrame,该DataFrame的列具有与执行传递字典中的表达式的值相同的标签。
assign()函数的示例代码
示例1:合并两个DataFrame
import pandas as pd
df1 = pd.DataFrame({'A':[1,2,3,4], 'B':[5,6,7,8]})
df2 = pd.DataFrame({'C':[9,10,11,12], 'D':[13,14,15,16]})
result = df1.assign(C=df2['C'], D=df2['D'])
print(result)
该代码的输出结果如下所示:
A B C D
0 1 5 9 13
1 2 6 10 14
2 3 7 11 15
3 4 8 12 16
该代码中,我们创建了两个DataFrame,然后使用assign()函数将两个DataFrame进行按列合并。
示例2:合并多个Series
import pandas as pd
s1 = pd.Series([1,2,3,4], name='A')
s2 = pd.Series([5,6,7,8], name='B')
s3 = pd.Series([9,10,11,12], name='C')
result = pd.DataFrame().assign(A=s1, B=s2, C=s3)
print(result)
该代码的输出结果如下所示:
A B C
0 1 5 9
1 2 6 10
2 3 7 11
3 4 8 12
该代码中,我们创建了三个Series,并使用assign()函数将三个Series按列合并。注意,我们在创建DataFrame时使用了一个空DataFrame pd.DataFrame(),这是为了方便使用assign()函数对多个Series进行按列合并。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python的assign函数使用方法 - Python技术站