Python 中的 Pandas 插入方法有哪些[机光明网]

Python 中的 Pandas 插入方法有哪些[机光明网]

已邀请:
1.pandas.DataFrame.insert() 方法
语法
DataFrame.insert(loc,
column,
value,
allow_duplicates=False)
它将名为 column 的列插入到 DataFrame 中,其值由 value 指定,位于 loc 位置。
使用 insert() 方法插入对所有行具有相同值的列
import pandas as pd

countries_df = pd.DataFrame({
'Country': ["Nepal","Switzerland","Germany","Canada"],
'Continent': ["Asia","Europe","Europe","North America"],
'Primary Language':["Nepali","French","German","English"]
})
print("Countries DataFrame:")
print(countries_df,"\n")

countries_df.insert(3,"Capital","Unknown")

print("Countries DataFrame after inserting Capital column:")
print(countries_df)
输出:

Countries DataFrame:
Country Continent Primary Language
0 Nepal Asia Nepali
1 Switzerland Europe French
2 Germany Europe German
3 Canada North America English

Countries DataFrame after inserting Capital column:
Country Continent Primary Language Capital
0 Nepal Asia Nepali Unknown
1 Switzerland Europe French Unknown
2 Germany Europe German Unknown
3 Canada North America English Unknown
它在 countries_df DataFrame 的 3 索引位置插入 ·Capital·列,所有行的 ·Capital·列值均设置为 Unknown。
该位置从 0 开始,因此 3 位置指的是 DataFrame 中的 4 列。
在 DataFrame 中插入一列,指定每行的值
如果我们想使用 insert() 方法为要插入的列指定每一行的值,我们可以在 insert() 方法中传递一个值列表作为 value 参数。

import pandas as pd

countries_df = pd.DataFrame({
'Country': ["Nepal","Switzerland","Germany","Canada"],
'Continent': ["Asia","Europe","Europe","North America"],
'Primary Language':["Nepali","French","German","English"]
})
print("Countries DataFrame:")
print(countries_df,"\n")

capitals=["Kathmandu","Zurich","Berlin","Ottawa"]

countries_df.insert(2,"Capital",capitals)

print("Countries DataFrame after inserting Capital column:")
print(countries_df)
输出:

Countries DataFrame:
Country Continent Primary Language
0 Nepal Asia Nepali
1 Switzerland Europe French
2 Germany Europe German
3 Canada North America English

Countries DataFrame after inserting Capital column:
Country Continent Capital Primary Language
0 Nepal Asia Kathmandu Nepali
1 Switzerland Europe Zurich French
2 Germany Europe Berlin German
3 Canada North America Ottawa English
它在 DataFrame countries_df 中的索引 2 插入了列 Capital,并为 DataFrame 中的 Capital 列指定了每一行的值。
2.在 insert() 方法中设置 allow_duplicates = True 来添加已经存在的列
import pandas as pd

countries_df = pd.DataFrame({
'Country': ["Nepal","Switzerland","Germany","Canada"],
'Continent': ["Asia","Europe","Europe","North America"],
'Primary Language':["Nepali","French","German","English"],
'Capital':["Kathmandu","Zurich","Berlin","Ottawa"]
})
print("Countries DataFrame:")
print(countries_df,"\n")

capitals=["Kathmandu","Zurich","Berlin","Ottawa"]

countries_df.insert(4,"Capital",capitals,allow_duplicates = True)

print("Countries DataFrame after inserting Capital column:")
print(countries_df)
输出:

Countries DataFrame:
Country Continent Primary Language Capital
0 Nepal Asia Nepali Kathmandu
1 Switzerland Europe French Zurich
2 Germany Europe German Berlin
3 Canada North America English Ottawa

Countries DataFrame after inserting Capital column:
Country Continent Primary Language Capital Capital
0 Nepal Asia Nepali Kathmandu Kathmandu
1 Switzerland Europe French Zurich Zurich
2 Germany Europe German Berlin Berlin
3 Canada North America English Ottawa Ottawa
它将列 Capital 添加到 countries_df DataFrame 中,尽管 countries_df DataFrame 中已经存在 Capital 列。

如果我们尝试插入已经存在于 DataFrame 中的列,而没有在 insert() 方法中设置 allow_duplicates = True,它就会向我们抛出一个错误信息:ValueError: cannot insert column, already exists.。

要回复问题请先登录注册