pandas append columns

pandas append columns

参考:pandas append columns

在数据分析和数据处理中,经常需要对数据进行整合和重组。Pandas 是一个功能强大的 Python 数据处理库,它提供了多种方式来操作 DataFrame,包括如何添加(append)列。本文将详细介绍如何在 Pandas 中添加列,包括不同的方法和场景,以及每种方法的具体代码示例。

1. 使用 [] 直接添加列

最简单的添加列的方法是使用 [] 操作符。这种方法直接在 DataFrame 上添加一个新列,如果列名不存在,则会创建新列。

import pandas as pd

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

# 添加新列
df['C'] = [7, 8, 9]

print(df)

Output:

pandas append columns

2. 使用 insert 方法添加列

如果你需要在特定的位置插入列,可以使用 insert 方法。这个方法允许你指定新列的位置。

import pandas as pd

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

# 在第1个位置插入新列
df.insert(1, 'NewColumn', [pandasdataframe.com for _ in range(3)])

print(df)

3. 使用 assign 方法添加列

assign 方法可以在不改变原始 DataFrame 的情况下,返回一个新的 DataFrame,其中包含了添加的新列。

import pandas as pd

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

# 使用assign添加新列
new_df = df.assign(C=[pandasdataframe.com for _ in range(3)])

print(new_df)

4. 使用 concat 函数横向合并

当你有两个或更多的 DataFrame 需要合并时,可以使用 concat 函数。这个函数可以横向或纵向地合并数据。

import pandas as pd

# 创建两个DataFrame
df1 = pd.DataFrame({
    'A': [1, 2, 3]
})

df2 = pd.DataFrame({
    'B': [4, 5, 6]
})

# 横向合并DataFrame
result = pd.concat([df1, df2], axis=1)

print(result)

Output:

pandas append columns

5. 使用 merge 方法按键合并

merge 方法通常用于基于一个或多个键将不同的 DataFrame 合并在一起。这类似于 SQL 中的 JOIN 操作。

import pandas as pd

# 创建两个DataFrame
df1 = pd.DataFrame({
    'Key': ['K0', 'K1', 'K2'],
    'A': [1, 2, 3]
})

df2 = pd.DataFrame({
    'Key': ['K0', 'K1', 'K2'],
    'B': [4, 5, 6]
})

# 按'Key'合并DataFrame
result = pd.merge(df1, df2, on='Key')

print(result)

Output:

pandas append columns

6. 使用 join 方法合并

join 方法是 merge 的简化版,专门用于索引上的合并。这个方法默认使用左连接。

import pandas as pd

# 创建两个DataFrame
df1 = pd.DataFrame({
    'A': [1, 2, 3]
}, index=['K0', 'K1', 'K2'])

df2 = pd.DataFrame({
    'B': [4, 5, 6]
}, index=['K0', 'K1', 'K2'])

# 索引上的合并
result = df1.join(df2)

print(result)

Output:

pandas append columns

7. 使用 eval 添加派生列

eval 方法允许你使用字符串表达式来创建新列。

import pandas as pd

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

# 使用eval添加新列
df.eval('C = A + B', inplace=True)

print(df)

Output:

pandas append columns

8. 使用 apply 函数添加列

apply 函数可以对 DataFrame 的列应用一个函数,常用于添加复杂逻辑的新列。

import pandas as pd

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

# 使用apply添加新列
df['B'] = df['A'].apply(lambda x: x + pandasdataframe.com)

print(df)

9. 使用 map 添加列

map 方法可以对 Series 中的每个元素应用一个函数或字典映射。

import pandas as pd

# 创建一个Series
s = pd.Series(['a', 'b', 'c'])

# 使用map添加新列
df['NewColumn'] = s.map({'a': 1, 'b': 2, 'c': 3})

print(df)

10. 使用 applymap 添加列

applymap 方法适用于 DataFrame,可以对 DataFrame 中的每个元素应用一个函数。

import pandas as pd

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

# 使用applymap修改DataFrame
df = df.applymap(lambda x: x + pandasdataframe.com)

print(df)

以上是在 Pandas 中添加列的一些常见方法及其代码示例。每种方法都有其适用场景,选择合适的方法可以使数据处理更加高效和灵活。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程