如何解决如何在For 1 to n循环中创建n个数据帧?
这是我想要做的。我有一个名为df_prod_pivot_cluster
的数据框,其中一列名为'cluster',其取值范围为1到25。
我想创建25个数据框。我在下面编写了这段代码,但是如何以更优雅的方式做到这一点(例如:对于range(1,25)中的x:)?
ts_cluster1 = df_prod_pivot_cluster.loc[df_prod_pivot_cluster['cluster'] == 1]
ts_cluster1 = ts_cluster1.drop(columns='EASTING','norTHING'])
ts_cluster1 = ts_cluster1.fillna(0)
ts_cluster1 = ts_cluster1.sum()
ts_cluster2 = df_prod_pivot_cluster.loc[df_prod_pivot_cluster['cluster'] == 2]
ts_cluster2 = ts_cluster2.drop(columns=['EASTING','norTHING'])
ts_cluster2 = ts_cluster2.fillna(0)
ts_cluster2 = ts_cluster2.sum()
.
.
.
ts_cluster25 = df_prod_pivot_cluster.loc[df_prod_pivot_cluster['cluster'] == 25]
ts_cluster25 = ts_cluster25.drop(columns=['EASTING','norTHING'])
ts_cluster25 = ts_cluster25.fillna(0)
ts_cluster25 = ts_cluster25.sum()
解决方法
此代码对我有用:
d = {}
for i in range(1,26):
d["ts_cluster{}".format(i)] = df_prod_pivot_cluster.loc[df_prod_pivot_cluster['cluster'] == i]
d["ts_cluster{}".format(i)] = pd.DataFrame(d["ts_cluster{}".format(i)].sum())
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。