看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
pandas 中的 insert() 方法用于在 DataFrame 的指定位置插入一列。它允许用户在 DataFrame 的特定列之前插入新的数据列,而不覆盖现有的列。
功能特点:
语法:
DataFrame.insert(loc, column, value, allow_duplicates=False)
参考:
支持的对象:
注意事项:
以下是一个完整的示例,展示了如何使用 insert() 方法在 DataFrame 的不同位置插入新列:
import pandas as pd
# 创建一个示例 DataFrame
data = {
'A': [1, 2, 3],
'B': [4, 5, 6]
}
df = pd.DataFrame(data)
# 在第 1 列位置插入新列 'C'
new_column_data = [7, 8, 9]
df.insert(1, 'C', new_column_data)
print('插入新列 C 后的 DataFrame:')
print(df)
# 在第 0 列位置插入新列 'D'
new_column_data = [10, 11, 12]
df.insert(0, 'D', new_column_data)
print('插入新列 D 后的 DataFrame:')
print(df)
'''
插入新列 C 后的 DataFrame:
A C B
0 1 7 4
1 2 8 5
2 3 9 6
插入新列 D 后的 DataFrame:
D A C B
0 10 1 7 4
1 11 2 8 5
2 12 3 9 6
'''
通过 insert() 方法,可以灵活地在 DataFrame 的指定位置插入新列,从而更方便地进行数据操作和管理。
案例如下:
>>> df = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]})
>>> df
col1 col2
0 1 3
1 2 4
>>> df.insert(1, "newcol", [99, 99])
>>> df
col1 newcol col2
0 1 99 3
1 2 99 4
>>> df.insert(0, "col1", [100, 100], allow_duplicates=True)
>>> df
col1 col1 newcol col2
0 100 1 99 3
1 100 2 99 4
请注意,pandas在值来自Series类型的情况下使用索引对齐:
>>> df.insert(0, "col0", pd.Series([5, 6], index=[1, 2]))
>>> df
col0 col1 col1 newcol col2
0 NaN 100 1 99 3
1 5.0 100 2 99 4
Index.insert(loc, item)
创建新索引,在位置插入新项目。例如:
>>> idx = pd.Index(['a', 'b', 'c'])
>>> idx.insert(1, 'x')
Index(['a', 'x', 'b', 'c'], dtype='object')
pandas.api.extensions.ExtensionArray.insert
的语法是 ExtensionArray.insert(loc, item)
在给定位置插入一个项目。如:
>>> arr = pd.array([1, 2, 3])
>>> arr.insert(2, -1)
<IntegerArray>
[1, 2, -1, 3]
Length: 4, dtype: Int64
更新时间:2024-07-13 20:32:58 标签:pandas python 插入