在Pandas数据框架中添加带有默认值的列
向Pandas DataFrame添加默认值列的三种方式。
- Using pandas.DataFrame.assign(kwargs)
- 使用[]运算符
- Using pandas.DataFrame.insert()
使用Pandas.DataFrame.assign(**kwargs)
它为一个DataFrame分配新的列,并返回一个新的对象,所有现有的列都是新的。重新分配的现有列将被覆盖。
语法: Pandas.DataFrame.assign(**kwargs)
参数: **kwargsdict of {str:可调用的或系列的}。
返回 : DataFrame
让我们用例子来理解。
首先,创建一个简单的DataFrame。
# importing pandas as pd
import pandas as pd
# creating the dataframe
df = pd.DataFrame({"Name": ['Anurag', 'Manjeet', 'Shubham',
'Saurabh', 'Ujjawal'],
"Address": ['Patna', 'Delhi', 'Coimbatore',
'Greater noida', 'Patna'],
"ID": [20123, 20124, 20145, 20146, 20147],
"Sell": [140000, 300000, 600000, 200000, 600000]})
print("Original DataFrame :")
display(df)
输出:
增加一个新栏目:
new_df = df.assign(profit=[40000, 20000, 30000, 60000, 200000])
new_df
输出:
添加一个新的列,默认值为:
new_df = df.assign(profit='NAN')
new_df
输出:
使用[]运算符添加一个新的列
我们可以使用DataFrame索引在DataFrame中创建一个新的列并将其设置为默认值。
语法:
df[col_name]=value
让我们通过一个例子来理解。
# importing pandas as pd
import pandas as pd
# creating the dataframe
df = pd.DataFrame({"Name": ['Anurag', 'Manjeet', 'Shubham',
'Saurabh', 'Ujjawal'],
"Address": ['Patna', 'Delhi', 'Coimbatore',
'Greater noida', 'Patna'],
"ID": [20123, 20124, 20145, 20146, 20147],
"Sell": [140000, 300000, 600000, 200000, 600000]})
print("Original DataFrame :")
display(df)
输出:
在数据框架中添加新列:
df['loss'] = [40000, 20000, 30000, 60000, 200000]
df
输出:
添加一个带有默认值的新列:。
df['loss'] = 'NAN'
df
输出:
使用pandas.DataFrame.insert()
在DataFrame的指定位置添加新的列。
语法: DataFrame.insert(loc, column, value, allow_duplicates=False)
参数
loc : int 插入索引。必须验证0 <= loc <= len(columns)。
column : str, number, or hashable object 插入的列的标签。
value : int, Series, or array-like
allow_duplicates : bool, optional
让我们用例子来理解。
# importing pandas as pd
import pandas as pd
# creating the dataframe
df = pd.DataFrame({"Name": ['Anurag', 'Manjeet', 'Shubham',
'Saurabh', 'Ujjawal'],
"Address": ['Patna', 'Delhi', 'Coimbatore',
'Greater noida', 'Patna'],
"ID": [20123, 20124, 20145, 20146, 20147],
"Sell": [140000, 300000, 600000, 200000, 600000]})
print("Original DataFrame :")
display(df)
输出:
添加一个新的列,默认值为:。
df.insert(2, "expenditure", 4500, allow_duplicates=False)
df
输出: