在pandas中,可以使用assign()
函数动态创建新列作为现有列的函数。assign()
函数允许我们在DataFrame中添加新的列,并可以使用现有列的值进行计算。
使用assign()
函数的语法如下:
new_df = df.assign(new_column = df['existing_column'].apply(function))
其中,new_df
是新的DataFrame,new_column
是新创建的列名,existing_column
是现有列名,function
是应用于现有列的函数。
通过这种方式,我们可以根据现有列的值创建新的列,实现数据的转换和处理。
下面是一个示例,假设我们有一个DataFrame df
,其中包含了一个名为price
的现有列,我们想要创建一个新的列discounted_price
,该列的值是price
列的值减去10%:
import pandas as pd
# 创建示例DataFrame
df = pd.DataFrame({'price': [100, 200, 300, 400]})
# 使用assign()函数创建新列
new_df = df.assign(discounted_price = df['price'] * 0.9)
print(new_df)
输出结果:
price discounted_price
0 100 90.0
1 200 180.0
2 300 270.0
3 400 360.0
在这个示例中,我们使用assign()
函数创建了一个名为discounted_price
的新列,该列的值是price
列的值乘以0.9,即原价的90%。
推荐的腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云