要扩展 Pandas DataFrame 的列,常用的方法是使用 df['new_col'] = ...
或 df.insert()
函数。
使用 df[‘new_col’]
df['new_col']
可以用于增加或覆盖列。以下是一些示例:
增加列
可以使用直接赋值的方式添加列,例如:
import pandas as pd
data = {
'name': ['Alice', 'Bob', 'Charlie'],
'age': [25, 30, 35]
}
df = pd.DataFrame(data)
print(df)
# 添加新列
df['gender'] = ['F', 'M', 'M']
print(df)
输出:
name age
0 Alice 25
1 Bob 30
2 Charlie 35
name age gender
0 Alice 25 F
1 Bob 30 M
2 Charlie 35 M
也可以利用 Series 累加生成新列,例如:
import pandas as pd
data = {
'name': ['Alice', 'Bob', 'Charlie'],
'age': [25, 30, 35]
}
df = pd.DataFrame(data)
print(df)
# 累加生成新列
df['age_next_year'] = df['age'] + 1
print(df)
输出:
name age
0 Alice 25
1 Bob 30
2 Charlie 35
name age age_next_year
0 Alice 25 26
1 Bob 30 31
2 Charlie 35 36
覆盖列
如果要覆盖已有列,可以使用类似增加列的方式,例如:
import pandas as pd
data = {
'name': ['Alice', 'Bob', 'Charlie'],
'age': [25, 30, 35]
}
df = pd.DataFrame(data)
print(df)
# 覆盖列
df['age'] = [26, 31, 36]
print(df)
输出:
name age
0 Alice 25
1 Bob 30
2 Charlie 35
name age
0 Alice 26
1 Bob 31
2 Charlie 36
使用 df.insert()
使用 df.insert()
函数可以在指定位置插入新的列。以下是一些示例:
插入列
使用 df.insert()
函数插入新列,例如:
import pandas as pd
data = {
'name': ['Alice', 'Bob', 'Charlie'],
'age': [25, 30, 35]
}
df = pd.DataFrame(data)
print(df)
# 在第二列(index=1)插入新列
df.insert(1, 'gender', ['F', 'M', 'M'])
print(df)
输出:
name age
0 Alice 25
1 Bob 30
2 Charlie 35
name gender age
0 Alice F 25
1 Bob M 30
2 Charlie M 35
覆盖列
使用 df.insert()
函数覆盖已有列,例如:
import pandas as pd
data = {
'name': ['Alice', 'Bob', 'Charlie'],
'age': [25, 30, 35]
}
df = pd.DataFrame(data)
print(df)
# 在第二列(index=1)覆盖已有列
df.insert(1, 'age', [26, 31, 36])
print(df)
输出:
name age
0 Alice 25
1 Bob 30
2 Charlie 35
name age
0 Alice 26
1 Bob 31
2 Charlie 36
注意:插入或覆盖列时,新列的长度必须与 DataFrame 的行数一致。
以上是如何扩展 Pandas DataFrame 的列的完整攻略,希望可以帮助到你。