首页>Python-如何在传递某些功能后,不追加等,在“ for循环”中返回相同的数据帧?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了首页>Python-如何在传递某些功能后,不追加等,在“ for循环”中返回相同的数据帧?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1674字,纯文字阅读大概需要3分钟。
内容图文
![首页>Python-如何在传递某些功能后,不追加等,在“ for循环”中返回相同的数据帧?](/upload/InfoBanner/zyjiaocheng/669/377f7ea467ce4bf1b99f1ebaf7fff775.jpg)
这个问题已经在这里有了答案: > How do I create a variable number of variables? 16个
我有三个要裁剪的数据框,定义了一个函数.
def croping(data, start_date='2017-04-10 00:00:00', end_date='2018-05-31 21:55:00' ):
return data.loc[start_date:end_date]
我知道这有点多余,但是我正在尝试学习如何使用用户定义的函数.
然后,我想在数据框列表上使用此功能;
df_list = [df1, df2, df3]
哪里
df1=
Timestamp A B C D E
2017-04-01 00:00:00 106.46451 98.94002 118.59085 100.83779 108.89098
2017-04-01 00:05:00 105.74346 98.93000 113.47805 86.77218 105.37943
2017-04-01 00:10:00 105.99000 99.15727 115.48461 96.76406 106.55555
2017-04-01 00:15:00 105.04311 98.93000 112.15814 88.38959 104.71931
... ... ... ... ...
等等
然后,我试图运行一个for循环来裁剪每个数据框
for name in df_list:
holding = croping(name)
如果我这样做,则需要将保持的数据帧附加在一起,是否有一种方法可以在每次迭代中将裁剪的数据帧称为不同的东西?像这样的东西;
for name in df_list:
name_cropped = croping(name)
名称在每次迭代中都会更改,因此我剩下df1_cropped,df2_cropped等.
也许最好的方法不是使用for循环,我仍在学习
解决方法:
您有两种选择.您可以按列表中的位置索引数据框.在这种情况下,您可以使用列表推导.使用pd.DataFrame.pipe将是Pandorable方法,因为它有助于方法链接:
df_list = [df1, df2, df3]
df_croped = [df.pipe(croping) for df in df_list]
但是,您可能会发现使用字典更干净:
df_dict = dict(enumerate((df1, df2, df3), 1))
df_croped = {k: v.pipe(croping) for k, v in df_dict.items()}
然后,您可以分别通过df_dict [0]或df_croped [0]访问原始或未裁剪的第一个数据帧.
内容总结
以上是互联网集市为您收集整理的首页>Python-如何在传递某些功能后,不追加等,在“ for循环”中返回相同的数据帧?全部内容,希望文章能够帮你解决首页>Python-如何在传递某些功能后,不追加等,在“ for循环”中返回相同的数据帧?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。