在Pandas dataframe中使用apply返回多列,可以通过两种方法实现:使用apply函数和使用assign函数。
方法一:使用apply函数
示例代码:
import pandas as pd
# 定义一个函数,该函数将在每一行中应用
def my_function(row):
return pd.Series([row['column1'] * 2, row['column2'] * 3])
# 创建一个DataFrame
data = {'column1': [1, 2, 3], 'column2': [4, 5, 6]}
df = pd.DataFrame(data)
# 使用apply函数将my_function应用于每一行,并展开为多列
df[['new_column1', 'new_column2']] = df.apply(my_function, axis=1, result_type='expand')
这样,就在DataFrame中创建了两个新的列new_column1和new_column2,其值为原始列column1和column2的两倍和三倍。
方法二:使用assign函数
示例代码:
import pandas as pd
# 定义一个函数,该函数将在每一行中应用
def my_function(row):
return pd.Series([row['column1'] * 2, row['column2'] * 3])
# 创建一个DataFrame
data = {'column1': [1, 2, 3], 'column2': [4, 5, 6]}
df = pd.DataFrame(data)
# 使用assign函数将my_function应用于DataFrame,并创建新的列
df = df.assign(new_column1=df['column1'].apply(lambda x: x * 2),
new_column2=df['column2'].apply(lambda x: x * 3))
这样,就在DataFrame中创建了两个新的列new_column1和new_column2,其值为原始列column1和column2的两倍和三倍。
以上是在Pandas dataframe中使用apply返回多列的方法。Pandas是一个强大的数据处理工具,适用于数据清洗、数据分析和数据处理等各种场景。腾讯云提供了云数据库、云服务器、云原生服务、人工智能服务等各类产品,可满足不同场景下的数据处理需求。详细了解腾讯云相关产品,请访问腾讯云官方网站:https://cloud.tencent.com/。
领取专属 10元无门槛券
手把手带您无忧上云