访问量: 10 次浏览
向 Pandas DataFrame添加默认值列的三种方式。
pandas.DataFrame.assign(**kwargs)[] 运算符pandas.DataFrame.insert()Pandas.DataFrame.assign(\*\*kwargs)它为一个DataFrame分配新的列,并返回一个新的对象,所有现有的列都是新的。重新分配的现有列将被覆盖。
语法:
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
输出:
