Python 3.x 如何打印数据帧统计信息?
在数据框类型上是否有任何内置函数可以让我打印出一个数据框,其中包含每个教育级别的女性人数?我想对数据集执行一些统计。 我想有一个关于教育的专栏,另一个是关于女性人数的专栏,如:Python 3.x 如何打印数据帧统计信息?,python-3.x,pandas,dataframe,Python 3.x,Pandas,Dataframe,在数据框类型上是否有任何内置函数可以让我打印出一个数据框,其中包含每个教育级别的女性人数?我想对数据集执行一些统计。 我想有一个关于教育的专栏,另一个是关于女性人数的专栏,如: Education Number High School 5 Bachelor 7 College 19 原始Df 目前,我正以这种方式提取: #subset myDataFrame based on Gender's value, returns boolean series isFema
Education Number
High School 5
Bachelor 7
College 19
原始Df
目前,我正以这种方式提取:
#subset myDataFrame based on Gender's value, returns boolean series
isFemale = myDataFrame['Gender']=='Female'
# =============================================================================
#fileter dataframe based on boolean condition, extract female column as df
femaleDataframe = myDataFrame[isFemale]
print("women in High Scool " + str(femaleDataframe["Education"].str.contains("High School or Below").sum()))
print("women in College " + str(femaleDataframe["Education"].str.contains("College").sum()))
print("women in Bachelor " + str(femaleDataframe["Education"].str.contains("Bachelor").sum()))
print("total females" + str(countFemales))
使用您提供的CSV,此脚本将打印按教育分组的所有女性:
df = pd.read_csv('sample.csv')
print( df[df['Gender']=='Female'].groupby('Education').size().reset_index().rename(columns={0:'Number'}) )
印刷品:
Education Number
0 Bachelor 39
1 College 128
2 High School or Below 117
3 Master or Above 3
使用您提供的CSV,此脚本将打印按教育分组的所有女性:
df = pd.read_csv('sample.csv')
print( df[df['Gender']=='Female'].groupby('Education').size().reset_index().rename(columns={0:'Number'}) )
印刷品:
Education Number
0 Bachelor 39
1 College 128
2 High School or Below 117
3 Master or Above 3
嘿,几点。1) 你应该在以后的提问中更加小心。你的答案相当笼统,这会让人们更难知道他们是否能给出一个有意义的答案。2) 我不想写一个完整的答案,但你看过熊猫群比的吗?他们会做你想做的。嘿,几点。1) 你应该在以后的提问中更加小心。你的答案相当笼统,这会让人们更难知道他们是否能给出一个有意义的答案。2) 我不想写一个完整的答案,但你看过熊猫群比的吗?我原以为
rename(columns={0:'Number'})
会使column Number成为数据集中的第一个,但看起来好像是第二个。第一列是根据您的代码进行的教育。现在我了解到,默认情况下,数字列最初将命名为0
,这就是您重命名它的原因。@bibscy是的,在.reset_index()
之后,该列命名为0
->,因此我将其重命名为Number
,我认为重命名(列={0:'Number'))
将使列编号成为数据集中的第一个,但看起来它是第二个。第一列是根据您的代码命名的教育。现在我了解到,默认情况下,数字列最初将命名为0
,这就是您重命名它的原因。@bibscy是的,在之后。reset_index()
该列命名为0
->,因此我将其重命名为Number