Python中文
首页
教程
问答
标签
搜索
登录
注册
使用for循环根据另一列的值获取一列的值
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我试图根据另一列的值获取一列的所有值。 我已经发现了一些与我相关的有用的stackoverflow问题,但这些问题的解决方案似乎在可变范围内不起作用。我是否需要对变量执行不同的操作</p> <p>我试图只从数据集中获取列“open”的值,其中“month”的值等于循环中的month变量</p> <p>需要明确的是,预期输出仅为“打开”值</p> <pre><code>for year in dfClose['year'].unique(): tempYearDF = dfClose[dfClose['year'] == year] for month in range(1,13): tempOpenDF = tempYearDF.loc[tempYearDF['month'] == month, 'open'] </code></pre> <p>我计划在分配数据后对tempOpenDF变量进行更多操作,但首先需要验证它是否正在填充</p> <p>样本数据</p> <pre><code>dfClose open year month day date 0 30.490000 2010 1 4 2010-01-04 1 30.657143 2010 1 5 2010-01-05 2 30.625713 2010 1 6 2010-01-06 3 30.250000 2010 1 7 2010-01-07 4 30.042856 2010 1 8 2010-01-08 . . 2551 297.260010 2020 2 24 2020-02-24 2552 300.950012 2020 2 25 2020-02-25 2553 286.529999 2020 2 26 2020-02-26 2554 281.100006 2020 2 27 2020-02-27 2555 257.260010 2020 2 28 2020-02-28 </code></pre> <p>输出</p> <pre><code>tempOpenDF Series([], Name: open, dtype: float64) </code></pre> <p>数据类型</p> <pre><code>tempYearDF.dtypes open float64 year int64 month int64 day int64 date object dtype: object </code></pre> <p>“年”的所有数据都正确地分开了,只是现在抓取月份数据有困难</p> <pre><code>tempYearDF open year month day date 2516 296.239990 2020 1 2 2020-01-02 2517 297.149994 2020 1 3 2020-01-03 2518 293.790009 2020 1 6 2020-01-06 2519 299.839996 2020 1 7 2020-01-07 2520 297.160004 2020 1 8 2020-01-08 2521 307.239990 2020 1 9 2020-01-09 2522 310.600006 2020 1 10 2020-01-10 2523 311.640015 2020 1 13 2020-01-13 2524 316.700012 2020 1 14 2020-01-14 2525 311.850006 2020 1 15 2020-01-15 2526 313.589996 2020 1 16 2020-01-16 2527 316.269989 2020 1 17 2020-01-17 2528 317.190002 2020 1 21 2020-01-21 2529 318.579987 2020 1 22 2020-01-22 2530 317.920013 2020 1 23 2020-01-23 2531 320.250000 2020 1 24 2020-01-24 2532 310.059998 2020 1 27 2020-01-27 2533 312.600006 2020 1 28 2020-01-28 2534 324.450012 2020 1 29 2020-01-29 2535 320.540009 2020 1 30 2020-01-30 2536 320.929993 2020 1 31 2020-01-31 2537 304.299988 2020 2 3 2020-02-03 2538 315.309998 2020 2 4 2020-02-04 2539 323.519989 2020 2 5 2020-02-05 2540 322.570007 2020 2 6 2020-02-06 2541 322.369995 2020 2 7 2020-02-07 2542 314.179993 2020 2 10 2020-02-10 2543 323.600006 2020 2 11 2020-02-11 2544 321.470001 2020 2 12 2020-02-12 2545 324.190002 2020 2 13 2020-02-13 2546 324.739990 2020 2 14 2020-02-14 2547 315.359985 2020 2 18 2020-02-18 2548 320.000000 2020 2 19 2020-02-19 2549 322.630005 2020 2 20 2020-02-20 2550 318.619995 2020 2 21 2020-02-21 2551 297.260010 2020 2 24 2020-02-24 2552 300.950012 2020 2 25 2020-02-25 2553 286.529999 2020 2 26 2020-02-26 2554 281.100006 2020 2 27 2020-02-27 2555 257.260010 2020 2 28 2020-02-28 </code></pre> <p>如果我也使用一个实际值来表示相等,我会得到我想要的结果。 但当我尝试基于范围循环值使用该值时,它会中断</p> <p>好</p> <pre><code>tempYearDF.loc[tempYearDF['month'] == 1, 'open'] 2516 296.239990 2517 297.149994 2518 293.790009 2519 299.839996 2520 297.160004 2521 307.239990 2522 310.600006 2523 311.640015 </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>你能不能就这样一年一个月,然后从那里开始</p> <pre><code>for _, v in df.groupby(['year', 'month'])['open']: tempOpenDF = v # do stuff </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何添加虚拟方法
7 回答
如何添加表示整数的擦边字符串?
9 回答
如何添加要在Bokeh中使用的新font.ttf文件?
6 回答
如何添加要显示的矩阵XY轴编号和XY轴
8 回答
如何添加计数?
10 回答
如何添加计数器函数?
9 回答
如何添加计数器列来计算数据帧中另一列中的特定值?
6 回答
如何添加计数器来跟踪while循环中的月份和年份?
9 回答
如何添加计数并删除countplot的顶部和右侧脊椎?
5 回答
如何添加计时器wx.应用程序更新窗口对象的主循环?
4 回答
如何添加评论到帖子?PostDetailVew,Django 2.1.5
6 回答
如何添加评论拉梅尔亚姆
10 回答
如何添加诸如矩阵Python/Pandas之类的数据帧?
9 回答
如何添加谷歌地点自动完成到Flask?
5 回答
如何添加超时、python discord bot
8 回答
如何添加超过1dp的检查
8 回答
如何添加距离方法
5 回答
如何添加跟随游戏的敌人精灵
5 回答
如何添加路径以便python可以找到程序?
8 回答
如何添加身份验证/安全性以使用happybase访问HBase?
10 回答