在Python中,使用pandas库可以轻松地向DataFrame中添加新列。以下是几种添加新列的方法:
1. 使用字典添加新列:
import pandas as pd
创建一个DataFrame对象
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)
添加新列C,值为A列和B列的和
df['C'] = df['A'] + df['B']
print(df)
2. 使用`reindex()`方法在指定位置添加列:
import pandas as pd
创建一个DataFrame对象
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)
在指定位置添加新列C
df = df.reindex(columns=['A', 'B', 'C'], fill_value=0)
print(df)
3. 使用`concat()`方法添加新列:
import pandas as pd
创建一个DataFrame对象
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)
添加新列C,值为全零
df = pd.concat([df, pd.DataFrame(columns=['C'])], axis=1)
print(df)
4. 使用`assign()`方法添加新列:
import pandas as pd
创建一个DataFrame对象
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)
添加新列C,值为A列和B列的和
df = df.assign(C=df['A'] + df['B'])
print(df)
5. 使用`apply()`函数添加新列:
import pandas as pd
创建一个DataFrame对象
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)
添加新列C,值为A列和B列的和
df['C'] = df.apply(lambda row: row['A'] + row['B'], axis=1)
print(df)
以上方法都可以根据具体需求选择使用。需要注意的是,添加新列时,如果新列的位置在现有列之前,需要确保新列的长度与现有DataFrame的行数相同,否则可能会导致错误。