问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

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

创作时间:
作者:
@小白创作中心

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

引用
1
来源
1.
http://www.360doc.com/content/24/0717/16/7300976_1129007917.shtml

在数据处理和分析领域,pandas是一个非常重要的Python库,它提供了丰富的功能来操作数据。本文将介绍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]
print(df)

2. 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])
print(df)

3. 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方法可以在指定位置插入新列。

4. 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)

5. 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)

6. 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)

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

7. 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)

8. 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)

9. 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方法用于基于标签选择数据,可以用于添加新列。

10. 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新增一列常用方法,大家可根据处理数据的实际场景选择适合的方法使用。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号