使用堆叠、解叠和熔化方法重塑pandas数据框架
Pandas使用各种方法来重塑数据框架和系列。让我们来看看那一些重塑的方法。
让我们先导入一个数据框架
# import pandas module
import pandas as pd
# making dataframe
df = pd.read_csv("https://media.geeksforgeeks.org/wp-content/uploads/nba.csv")
# it was print the first 5-rows
print(df.head())
输出:
使用stack()方法:
Stack方法与DataFrame中的MultiIndex对象一起工作,它返回一个带有索引的DataFrame,并带有新的最内层的行标签。它将宽表改为长表。
# import pandas module
import pandas as pd
# making dataframe
df = pd.read_csv("nba.csv")
# reshape the dataframe using stack() method
df_stacked = df.stack()
print(df_stacked.head(26))
输出:
使用unstack()方法:
unstack与stack方法类似,它也适用于数据框架中的多索引对象,产生一个重塑的数据框架,其最内层有一个新的列标签。
# import pandas module
import pandas as pd
# making dataframe
df = pd.read_csv("nba.csv")
# unstack() method
df_unstacked = df_stacked.unstack()
print(df_unstacked.head(10))
使用melt()方法:
pandas中的Melt将数据框架从宽格式重塑为长格式。它使用 “id_vars[‘col_names’]”来按列名融化数据框架。
# import pandas module
import pandas as pd
# making dataframe
df = pd.read_csv("nba.csv")
# it takes two columns "Name" and "Team"
df_melt = df.melt(id_vars =['Name', 'Team'])
print(df_melt.head(10))
输出: