首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >合并插入循环

合并插入循环
EN

Stack Overflow用户
提问于 2018-10-24 20:10:19
回答 1查看 75关注 0票数 0

我想使用for循环创建一个新的数据框架。

代码语言:javascript
复制
for (name, series) in Quantitative.iteritems():
data = {'Name': pd.Series(name), 'Count': pd.Series(Quantitative[name].size), 
        '% Miss.': pd.Series((sum(Quantitative[name].isnull().values.ravel()) / Quantitative[name].size) * 100), 
        'Card.': pd.Series(Quantitative[name].unique().size), 'Min': pd.Series(Quantitative[name].min()), 
        '1st Qrt.': pd.Series(Quantitative[name].quantile(0.25)), 'Mean': pd.Series(Quantitative[name].mean()), 
        'Median': pd.Series(Quantitative[name].median()), '3rd Qrt.': pd.Series(Quantitative[name].quantile(0.75)), 
        'Max': pd.Series(Quantitative[name].max()), 'Std.': pd.Series(Quantitative[name].std())}
dt = pd.DataFrame(data)
print(pd.DataFrame(dt))

但是,它会创建多个字典。我怎么才能把它们合并在一起?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-24 20:56:18

您不需要为dict中的每一项创建dataframe,然后合并它们。使用列表理解来创建行列表并从中创建数据:

代码语言:javascript
复制
rows = [[
    name, series.size, (sum(series.isnull().values.ravel()) / series.size) * 100, 
    series.unique().size, series.min(), series.quantile(0.25), series.mean(), 
    series.median(), series.quantile(0.75), series.max(), series.std()
] for name, series in Quantitative.iteritems()]

dt = pd.DataFrame(
    rows, 
    columns=['Name', 'Count', '% Miss.', 'Card.', 'Min', '1st Qrt.',
             'Mean', 'Median', '3rd Qrt.', 'Max', 'Std.'])
print(dt)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52977233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档