In[1]:import pandas as pdimport iodata = """name scoreA 1A 2A 3A 4A 5B 2B 4B 6B 8 """df = pd.read_csv(io.StringIO(data), delimiter='s+')print(df)
。
解Out[1]: name score0 A 11 A 22 A 33 A 44 A 55 B 26 B 47 B 68 B 8
pd.Dataframe()来迭代的结果
groupby,并动态构建摘要统计数据框:
In[2]:df2 = pd.Dataframe(group.describe().rename(columns={'score':name}).squeeze() for name, group in df.groupby('name'))print(df2)
。
Out[2]: count mean std min 25% 50% 75% maxA 5 3 1.581139 1 2.0 3 4.0 5B 4 5 2.581989 2 3.5 5 6.5 8
此处,
squeeze函数压缩维度,以将单列组摘要统计信息
Dataframe转换为
Series。
脚注 :生成器表达式的形式为
my_function(a) for a initerator,或者是否
iterator给我们返回两个元素
tuples,例如
groupby:
my_function(a,b) fora,b in iterator
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)