📜  从现有数据框 python 创建新数据框(1)

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

从现有数据框 Python 创建新数据框

在Python中,我们可以使用许多不同的方式去创建一个新的数据框。其中一种方式是将现有的数据框转化为新的数据框。在下面的介绍中,我们将会介绍一些常见的方法。

方法一:使用copy()函数

copy()函数是在pandas模块中的一个非常有用的函数。使用此函数时,我们可以直接从一个数据框中创建另一个数据框,而不需要对原始数据框进行任何修改。

以下是一个例子:

import pandas as pd

df1 = pd.DataFrame({'A': ['John', 'Mary', 'Julia'], 
                   'B': [25, 30, 35], 
                   'C': ['NY', 'LA', 'SF']})

df2 = df1.copy()

print(df2)

在上面的代码中,我们首先创建了一个数据框df1。接着,我们使用copy()函数将df1复制到df2中。最后,我们打印了df2的结果,这将输出:

       A   B   C
    0  John 25 NY
    1  Mary 30 LA
    2  Julia 35 SF
方法二:使用loc或iloc函数

loc和iloc函数可以用来选择一个数据框中的特定行和列,它们也可以被用来创建一个新的数据框。

以下是一个例子:

import pandas as pd

df1 = pd.DataFrame({'A': ['John', 'Mary', 'Julia'], 
                   'B': [25, 30, 35], 
                   'C': ['NY', 'LA', 'SF']})

df2 = df1.loc[:, ['A', 'C']]

print(df2)

在上面的代码中,我们首先创建了一个数据框df1。接着,我们使用loc函数选择了所有行和特定的列'A'和'C',并将结果保存到df2中。最后,我们打印了df2的结果,这将输出:

       A     C
    0  John  NY
    1  Mary  LA
    2  Julia SF
方法三:使用query函数

query函数也可以用来选择一个数据框中的特定行和列,并且它也可以被用来创建一个新的数据框。

以下是一个例子:

import pandas as pd

df1 = pd.DataFrame({'A': ['John', 'Mary', 'Julia'], 
                   'B': [25, 30, 35], 
                   'C': ['NY', 'LA', 'SF']})

df2 = df1.query('B > 27')

print(df2)

在上面的代码中,我们首先创建了一个数据框df1。接着,我们使用query函数选择了所有满足条件'B > 27'的行,并将结果保存到df2中。最后,我们打印了df2的结果,这将输出:

       A    B  C
    1  Mary 30 LA
    2  Julia 35 SF

注意:在使用query函数时,我们需要确保选择的所有列都存在于原始数据框中。否则,我们将得到一个错误信息。

方法四:使用merge函数

merge函数可以用于将两个数据框合并为一个数据框。这个过程就是将一个数据框中的行和另一个数据框中的行进行比较,然后将它们按照某个key(键)合并在一起。

以下是一个例子:

import pandas as pd

df1 = pd.DataFrame({'A': ['John', 'Mary', 'Julia'], 
                   'B': [25, 30, 35], 
                   'C': ['NY', 'LA', 'SF']})

df2 = pd.DataFrame({'A': ['John', 'Mary', 'Michael'], 
                   'D': [100, 200, 150], 
                   'E': ['NJ', 'FL', 'PA']})

df3 = pd.merge(df1, df2, on='A')

print(df3)

在上面的代码中,我们首先创建了两个数据框df1和df2。接着,我们使用merge函数将这两个数据框合并为df3。在合并时,我们使用了key 'A',因为这是唯一的一个在两个数据框中都存在的列名。最后,我们打印了df3的结果,这将输出:

       A   B   C   D  E
    0  John 25 NY  100 NJ
    1  Mary 30 LA  200 FL

以上是关于从现有数据框Python创建新数据框的方法介绍。我们可以根据需要,选择不同的方法来创建新的数据框。