📌  相关文章
📜  创建新列 pandas 和 order 序列 - Python (1)

📅  最后修改于: 2023-12-03 15:07:12.544000             🧑  作者: Mango

创建新列 pandas 和 order 序列 - Python

在数据处理中,有时需要通过对现有列的操作来创建新列。Pandas是一种流行的Python数据分析库,可以轻松地实现这个过程。

创建新列

要创建新列,可以使用Pandas的assign()函数或直接在DataFrame对象上创建一个新的Series对象。

使用assign函数

使用assign()函数可以轻松地创建一个新的DataFrame对象,并在其中添加一个新的列。

import pandas as pd

data = {'Name': ['John', 'Mary', 'Mike', 'Maggie'],
        'Age': ['25', '40', '52', '34']}
df = pd.DataFrame(data)
df = df.assign(Gender = ['Male', 'Female', 'Male', 'Female'])
print(df)

输出:

     Name Age  Gender
0    John  25    Male
1    Mary  40  Female
2    Mike  52    Male
3  Maggie  34  Female

在上述示例中,我们使用assign()函数来添加一个新列'Gender',并为该列赋初始值。然后我们打印整个数据集 DataFrame。

直接创建新Series对象

创建一个新的Series对象可以使用DataFrame的[]运算符。例如,如果我们有一个已经存在的DataFrame df,我们可以使用以下代码来创建一个新的列。

df['Gender'] = ['Male', 'Female', 'Male', 'Female']

在这种情况下,我们将新列分配给DataFrame df的'Gender'列。

order 序列

order()函数用于对数据进行排名。例如,如果我们有一个数值向量并需要输出它的排名,则可以使用order()函数。

import pandas as pd

data = {'Numbers': [10, 20, 30, 40]}
df = pd.DataFrame(data)
df['Rank'] = df['Numbers'].rank()
print(df)

输出:

   Numbers  Rank
0       10   1.0
1       20   2.0
2       30   3.0
3       40   4.0

在上述示例中,我们将新列分配给DataFrame df的'Rank'列。 该列是从现有列'Numbers'创建的,使用rank()函数生成。

总之,本文介绍了如何通过使用assign()函数或直接创建Series对象来创建新列,并使用order()函数对数据进行排名。 这些技术有助于更好地管理和处理数据。