如何添加多个 pandas dataframe(示例)
您可以使用以下基本语法一次添加多个 pandas DataFrame:
import pandas as pd #append multiple DataFrames df_big = pd. concat ([df1,df2, df3], ignore_index= True )
这种特殊的语法会将df1 、 df2和df3添加到一个名为df_big的 pandas DataFrame 中。
以下示例展示了如何在实践中使用此语法。
示例 1:一次添加多个 Pandas DataFrame
以下代码显示了如何一次添加多个 pandas DataFrame:
import pandas as pd #create three DataFrames df1 = pd. DataFrame ({'player': ['A', 'B', 'C', 'D', 'E'], 'points':[12, 5, 13, 17, 27]}) df2 = pd. DataFrame ({'player': ['F', 'G', 'H', 'I', 'J'], 'points':[24, 26, 27, 27, 12]}) df3 = pd. DataFrame ({'player': ['K', 'L', 'M', 'N', 'O'], 'points':[9, 5, 5, 13, 17]}) #append all DataFrames into one DataFrame df_big = pd. concat ([df1,df2, df3], ignore_index= True ) #view resulting DataFrame print (df_big) player points 0 to 12 1 B 5 2 C 13 3 D 17 4 E 27 5 F 24 6 G 26 7:27 a.m. 8 I 27 9 D 12 10K 9 11 L 5 12 M 5 13 N 13 14 O 17
结果是一个大的 DataFrame,其中包含三个单独的 DataFrame 中每个 DataFrame 的所有行。
ignore_index=True参数告诉 pandas 忽略每个 DataFrame 中的原始索引号,并为新 DataFrame 创建一个从 0 开始的新索引。
例如,考虑一下当我们在堆叠以下两个 DataFrame 时不使用ignore_index=True时会发生什么:
import pandas as pd #create two DataFrames with indices df1 = pd. DataFrame ({'player': ['A', 'B', 'C', 'D', 'E'], 'points':[12, 5, 13, 17, 27]}, index=[0, 1, 2, 3, 4]) df2 = pd. DataFrame ({'player': ['F', 'G', 'H', 'I', 'J'], 'points':[24, 26, 27, 27, 12]}, index=[2, 4, 5, 6, 9]) #stack the two DataFrames together df_big = pd. concat ([df1,df2]) #view resulting DataFrame print (df_big) player points 0 to 12 1 B 5 2 C 13 3 D 17 4 E 27 2 F 24 4G 26 5:27 a.m. 6 I 27 9 D 12
生成的 DataFrame 保留了两个 DataFrame 的原始索引值。
一般来说,添加多个 DataFrame 时应使用ignore_index=True ,除非有特定原因需要保留原始索引值。
其他资源
如何向 Pandas DataFrame 添加空列
如何将列插入 Pandas DataFrame
如何将 Pandas DataFrame 导出到 Excel