Pandas 新增欄位教學 - 5個方法

Try Proseoai — it's free
AI SEO Assistant
SEO Link Building
SEO Writing

Pandas 新增欄位教學 - 5個方法

目录

概述

在处理pandas数据框时,经常会遇到需要添加新列的情况。新的列可以是从原始数据框派生出来的,也可以是新数据的添加。无论是哪种情况,您都需要不断地向数据框中添加新的数据。本文将介绍5种常见的方法来向pandas数据框添加新的列。

方法一:直接传递标量或列表来添加新列

第一种方法是直接将新的列传递给数据框,并将其设置为标量或值列表。可以通过以下代码示例来演示:

import pandas as pd

data = {'name': ['Restaurant A', 'Restaurant B', 'Restaurant C'],
        'type': ['Fast Food', 'Café', 'Italian'],
        'average_bill': [20, 30, 40]}

df = pd.DataFrame(data)

# 添加一个名为'day'的新列,并将其设置为标量值
df['day'] = 'Monday'

# 添加一个名为'day'的新列,并将其设置为值列表
df['day'] = ['Monday', 'Tuesday', 'Wednesday']

# 根据名称添加一个新列,并将其设置为值列表
df['day'] = ['Monday', 'Tuesday', 'Wednesday', 'Thursday']

优点:

  • 简单直接,适用于需要添加具有相同值的新列或相同长度的值列表的情况。

缺点:

  • 对于不同长度的值列表,会导致错误。

方法二:使用df.insert方法指定列的位置

第二种方法是使用df.insert方法来指定新列出现的位置。示例如下:

import pandas as pd

data = {'name': ['Restaurant A', 'Restaurant B', 'Restaurant C'],
        'type': ['Fast Food', 'Café', 'Italian'],
        'average_bill': [20, 30, 40]}

df = pd.DataFrame(data)

# 在'name'和'type'之间插入一个名为'stars'的新列,并将其设置为四个值
df.insert(loc=1, column='stars', value=[4, 3, 5])

优点:

  • 可以在指定的位置插入新列,灵活性高。

缺点:

  • 不太直观,需要指定列的位置。

方法三:使用df.assign方法传递多个列

第三种方法是使用df.assign方法一次传递多个列。示例如下:

import pandas as pd

data = {'name': ['Restaurant A', 'Restaurant B', 'Restaurant C'],
        'type': ['Fast Food', 'Café', 'Italian'],
        'average_bill': [20, 30, 40]}

df = pd.DataFrame(data)

# 添加一个名为'average_half_bill'的新列,根据'average_bill'列计算平均值的一半
df = df.assign(average_half_bill=lambda x: x['average_bill'] / 2)

优点:

  • 可以一次传递多个列,并且可以使用lambda函数对列进行转换。

缺点:

  • 不适用于只添加单个列的情况。

方法四:使用字典来添加新列

第四种方法是使用字典来添加新列。示例如下:

import pandas as pd

data = {'name': ['Restaurant A', 'Restaurant B', 'Restaurant C'],
        'type': ['Fast Food', 'Café', 'Italian'],
        'average_bill': [20, 30, 40]}

df = pd.DataFrame(data)

# 添加一个名为'month'的新列,并将其设置为字典的值
df = df.assign(month={'Restaurant A': 'January', 'Restaurant B': 'February', 'Restaurant C': 'April'})

优点:

  • 可以灵活地根据字典来添加新列。

缺点:

  • 不是很直观,需要手动对应字典的值。

方法五:不推荐使用loc方法添加新列

第五种方法是使用loc方法添加新列,但这种方法不推荐使用。示例如下:

import pandas as pd

data = {'name': ['Restaurant A', 'Restaurant B', 'Restaurant C'],
        'type': ['Fast Food', 'Café', 'Italian'],
        'average_bill': [20, 30, 40]}

df = pd.DataFrame(data)

# 使用loc方法添加新列,并设置为新的值
df.loc[:, 'year'] = [2020, 2021, 2022, 2023]

优点:

  • 可以在任何位置添加新列。

缺点:

  • 不推荐使用,更容易出错。

总结

本文介绍了5种向pandas数据框添加新列的方法。这些方法包括直接传递标量或列表、使用df.insert方法指定位置、使用df.assign方法传递多个列、使用字典来添加新列,以及使用loc方法添加新列。根据具体的需求,可以选择最合适的方法来添加新列。

Are you spending too much time on seo writing?

SEO Course
1M+
SEO Link Building
5M+
SEO Writing
800K+
WHY YOU SHOULD CHOOSE Proseoai

Proseoai has the world's largest selection of seo courses for you to learn. Each seo course has tons of seo writing for you to choose from, so you can choose Proseoai for your seo work!

Browse More Content