Pandas DataFrame 添加带默认值列的三种方法详解


发布日期 : 2019-05-08 21:37:38 UTC

访问量: 10 次浏览

在Pandas数据框架中添加带有默认值的列

向 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)

输出:

在Pandas数据框架中添加带有默认值的列

增加一个新栏目:

new_df = df.assign(profit=[40000, 20000, 30000, 60000, 200000])
new_df

输出:

在Pandas数据框架中添加带有默认值的列

添加一个新的列,默认值为:

new_df = df.assign(profit='NAN')
new_df

输出:

在Pandas数据框架中添加带有默认值的列

使用[]运算符添加一个新的列

我们可以使用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)

输出:

在Pandas数据框架中添加带有默认值的列

在数据框架中添加新列:

df['loss'] = [40000, 20000, 30000, 60000, 200000]
df

输出:

在Pandas数据框架中添加带有默认值的列

添加一个带有默认值的新列:

df['loss'] = 'NAN'
df

输出:

在Pandas数据框架中添加带有默认值的列

使用 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)

输出:

在Pandas数据框架中添加带有默认值的列

添加一个新的列,默认值为:

df.insert(2, "expenditure", 4500, allow_duplicates=False)
df

输出:

在Pandas数据框架中添加带有默认值的列