📅  最后修改于: 2023-12-03 15:22:01.058000             🧑  作者: Mango
在Python中,我们可以使用许多不同的方式去创建一个新的数据框。其中一种方式是将现有的数据框转化为新的数据框。在下面的介绍中,我们将会介绍一些常见的方法。
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函数可以用来选择一个数据框中的特定行和列,它们也可以被用来创建一个新的数据框。
以下是一个例子:
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函数也可以用来选择一个数据框中的特定行和列,并且它也可以被用来创建一个新的数据框。
以下是一个例子:
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函数可以用于将两个数据框合并为一个数据框。这个过程就是将一个数据框中的行和另一个数据框中的行进行比较,然后将它们按照某个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创建新数据框的方法介绍。我们可以根据需要,选择不同的方法来创建新的数据框。