📌  相关文章
📜  如何使用Python中的 Pandas 从 Excel 工作表中创建具有多个索引的数据透视表?

📅  最后修改于: 2022-05-13 01:55:23.094000             🧑  作者: Mango

如何使用Python中的 Pandas 从 Excel 工作表中创建具有多个索引的数据透视表?

数据透视表一词可以定义为 Pandas函数,用于将电子表格样式的数据透视表创建为 DataFrame。它可以使用 pivot_table() 方法创建。

注意:我们可以通过添加可选参数来进一步过滤表格。

示例 1:链接到 CSV 文件:CSV 文件
我们可以通过运行以下程序来查看数据:

Python3
# importing pandas as pd 
import pandas as pd
  
# Create the dataframe 
df=pd.read_csv('GeeksForGeeks.csv')
  
# Print the dataframe 
df


Python3
# importing pandas as pd 
import pandas as pd
  
# Create the dataframe 
df=pd.read_csv('GeeksForGeeks.csv')
  
# Print the resultant table
print(pd.pivot_table(df,index=["Country"]))


Python3
# importing pandas as pd 
import pandas as pd
  
# Create the dataframe 
df=pd.read_csv('GeeksForGeeks.csv')
  
# Print the resultant table
print(pd.pivot_table(df,index=["Country","Salary"]))


Python3
# importing pandas as pd 
import pandas as pd
  
# Create the dataframe 
df=pd.read_csv('GeeksForGeeks_1.csv')
  
# Print the dataframe 
df


Python3
# importing pandas as pd 
import pandas as pd
  
# Create the dataframe 
df=pd.read_csv('dataset/new_players.csv')
  
# Print the resultant table
print(pd.pivot_table(df,index=["century","name"]))


输出:

图像

我们知道索引是允许我们对数据进行分组并指定多个列的功能,因为枢轴函数中的索引增加了详细程度和对数据进行分组。
在表中保留单个索引:

Python3

# importing pandas as pd 
import pandas as pd
  
# Create the dataframe 
df=pd.read_csv('GeeksForGeeks.csv')
  
# Print the resultant table
print(pd.pivot_table(df,index=["Country"]))

输出:

图像

正如我们所看到的,分组是按国家/地区进行的,并且数字数据打印为与指定索引有关的所有值的平均值。
现在,在表中保留多个索引:

Python3

# importing pandas as pd 
import pandas as pd
  
# Create the dataframe 
df=pd.read_csv('GeeksForGeeks.csv')
  
# Print the resultant table
print(pd.pivot_table(df,index=["Country","Salary"]))

输出:

图像

示例2:链接到 CSV 文件:CSV 文件

Python3

# importing pandas as pd 
import pandas as pd
  
# Create the dataframe 
df=pd.read_csv('GeeksForGeeks_1.csv')
  
# Print the dataframe 
df

输出:

图像

将玩家得分的世纪数和他们的名字作为索引,我们得到:

Python3

# importing pandas as pd 
import pandas as pd
  
# Create the dataframe 
df=pd.read_csv('dataset/new_players.csv')
  
# Print the resultant table
print(pd.pivot_table(df,index=["century","name"]))

输出:

图像