![](/img/trans.png)
[英]How can I create dynamic data frames using for loop from an existing data frame
[英]Python & Pandas: How can I create new smaller data frames from my large data frame in a (for) loop?
我有一个大数据框(51 行 x 51 列),其中第一列是 X 值,其他 50 列是 50 个数学函数的 Y 值。
像这样:
x y1 y2 y3 ... y49 y50
0 1 0.5 20 200 0
1 2 0.1 5 199 0
2 3 -0.2 10 198 1
3 4 -1 15 197 1
...
50 51 -70 65 151 15
我想制作一个包含 50 个较小数据框的列表,其中每个 df 列表元素都具有相同的 x 值和特定的 y 值列。
所以结果基本上应该是这样的:
df1
x y1
0 1
1 2
2 3
3 4
...
50 51
df2
x y2
0 0.5
1 0.1
2 -0.2
3 -1
...
50 -70
etc.
我没有找到任何线索如何使用 for 循环以自动方式执行此操作。 任何想法如何? 提前致谢!
您可以使用列表理解生成要为每个较小的 DataFrame 保留的列:
[df[["x", f"y{i + 1}"]] for i in range(50)]
前两个元素是:
x y1
0 0 1
1 1 2
2 2 3
3 3 4
和
x y2
0 0 0.5
1 1 0.1
2 2 -0.2
3 3 -1.0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.