ITPub博客

首页 > 数据库 > 数据库开发技术 > Pandas新增一列的10种常用操作

Pandas新增一列的10种常用操作

原创 数据库开发技术 作者:derekwh 时间:2024-07-14 14:39:34 0 删除 编辑

pandas是一个用于数据处理和分析的Python库,它提供了丰富的功能来操作数据。

在pandas中,我们可以使用多种方法为DataFrame新增一列。本文介绍10种不同的操作来为pandas DataFrame新增一列:


  1. 直接赋值法
import pandas as pd

data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)

# 直接赋值法
df['C'] = [7, 8, 9]
df


  1. assign方法
import pandas as pd

data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)

# 使用assign方法
df = df.assign(C=[7, 8, 9])
df

  1. insert方法
import pandas as pd

data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)

# 使用insert方法
df.insert(2, 'C', [7, 8, 9])
print(df)

insert方法可以在指定位置插入新列。


  1. join方法
import pandas as pd

data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)

# 使用join方法
new_column = pd.Series([7, 8, 9], name='C')
df = df.join(new_column)
print(df)


  1. concat方法
import pandas as pd

data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)

# 使用concat方法
new_column = pd.DataFrame({'C': [7, 8, 9]})
df = pd.concat([df, new_column], axis=1)
print(df)


  1. apply方法
import pandas as pd

data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)

# 使用apply方法
def add_new_column(row):
    if row['A']>2:
         return row['A']**2 + row['B']*100
    else:
         return row['A']-row['B']
   
df['C'] = df.apply(add_new_column, axis=1)
print(df)

本方法是万能方法,经常用到,在经过复杂运算并赋值到新的一列的场景使用尤其多。


  1. apply结合lambda
import pandas as pd

data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)

# 使用apply方法结合lambda函数
df['C'] = df.apply(lambda row: row['A'] * 2, axis=1)
print(df)


  1. query方法
import pandas as pd

data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)

# 使用query方法
df['C'] = df.query('A > 1')['B']
print(df)


  1. loc方法
import pandas as pd

# 创建一个DataFrame
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)

# 使用loc方法添加新列'C'
df.loc[:, 'C'] = [7, 8, 9]
print(df)

loc方法用于基于标签选择数据,可以用于添加新列。


  1. merge方法
import pandas as pd

# 创建两个DataFrame
data1 = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df1 = pd.DataFrame(data1)
data2 = {'C': [7, 8, 9]}
df2 = pd.DataFrame(data2)

# 使用merge方法添加新列'C'
df = pd.merge(df1, df2, left_index=True, right_index=True)
print(df)

merge方法可以根据指定的键将两个DataFrame合并,用于添加新列。

本文介绍的pandas新增一列常用方法,大家可根据处理数据的实际场景选择适合的方法使用。


原文作者:Python学习杂记;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论
央企算法工程师,微信公众号: python数智工坊

注册时间:2021-03-14

  • 博文量
    305
  • 访问量
    162349