Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在pandas中,当某列满足一定条件时,如何拉取第一个实例?

在pandas中,当某列满足一定条件时,如何拉取第一个实例?
EN

Stack Overflow用户
提问于 2021-02-10 09:57:17
回答 2查看 47关注 0票数 1

我正在尝试拉取第一个实例,帐户余额等于或下降到0以下。在下面的示例中,我想创建一个列,其中只有X和Y从正数移动到小于或等于0的行,即在第4行中X将是2017-1-4,在第8行中Y将是2018-2-3。

代码语言:javascript
运行
AI代码解释
复制
df= pd.DataFrame()
df['Account'] = ['X','X','X','X','X','Y','Y','Y']
df['Balance'] = [100,90,80,0,0,900,90,-1]
df['Date'] = [pd.to_datetime('2017-1-1'),pd.to_datetime('2017-1-2'),pd.to_datetime('2017-1-3'),pd.to_datetime('2017-1-4'),pd.to_datetime('2017-1-5'),pd.to_datetime('2018-2-1'),pd.to_datetime('2018-2-2'),pd.to_datetime('2018-2-3')]
print(df)

谢谢!

编辑:我想我想要的答案可能是这样的

代码语言:javascript
运行
AI代码解释
复制
x = df.groupby('Account')['Balance']\
       .apply(lambda x: (x<=0) & (0<x.shift()))

这将在余额变为0或更小时返回实例,并与之前的实例进行比较。但是,当我尝试获取日期信息时,它会给我一个我无法获取的数字:

代码语言:javascript
运行
AI代码解释
复制
y = np.where(x,df['Date'],pd.NaT)

数组( NaT,1483488000000000000,NaT,1517616000000000000,dtype=object)

我该如何解决这个问题?对于Python和Pandas来说,这仍然是非常新的,所以这可能是非常明显的事情!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-02-10 13:45:21

您可以将布尔掩码直接应用于数据帧,如下所示:x = df.groupby('Account')['Balance'].apply(lambda x: (x<=0) & (0<x.shift()))

df[x]df[x]['column_name_that_you_need']

票数 0
EN

Stack Overflow用户

发布于 2021-02-10 10:33:03

一种可能的解决方案是使用df.values,它将数据帧作为numpy数组对象返回。然后,您可以使用for循环的组合来迭代数据帧的每一行,并检查account == X或Y和Balance <= 0,如果是,则返回日期:

代码语言:javascript
运行
AI代码解释
复制
def zero_bal(a, df=df):
    for each in df.values:
        if each[0] == a and each[1] <= 0:
                return each[2]

X, Y = zero_bal('X'), zero_bal('Y')

在上面的代码中,"for each In df.values:“中的"each”类似于:

'X',80,时间戳(‘2017-01-03 00:00:00')

然后,您可以使用索引each、each1和each2分别选择帐户、余额和日期,并检查它们是否是您要查找的内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66134615

复制
相关文章
Excel公式技巧21: 统计至少在一列中满足条件的行数
在这篇文章中,探讨一种计算在至少一列中满足规定条件的行数的解决方案,示例工作表如下图1所示,其中详细列出了各个国家在不同年份废镍的出口水平。
fanjy
2020/03/25
4.2K0
Excel公式技巧21: 统计至少在一列中满足条件的行数
如何让 Gitlab 的 Runner 在构建时拉取 Git Submodules 仓库
默认的 GitLab 的 Runner 在构建时不会去拉取 Git Submodules 仓库,将会提示 Skipping Git submodules setup 跳过初始化 Git Submodule 仓库
林德熙
2021/04/02
2.4K0
用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。
数据库中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。
全栈程序员站长
2022/07/09
1.8K0
Python+Pandas逐行处理DataFrame中的某列数据(无循环)
创建一个包含10行6列随机数的DataFrame,行标签从大写字母A开始,列标签从小写字母u开始。然后从上向下遍历,如果某行u列的值比上一行u列的值大,就把该行x列的值改为上一行x列的值加1,否则保持原来的值不变。
Python小屋屋主
2023/08/29
7590
Python+Pandas逐行处理DataFrame中的某列数据(无循环)
Pandas | 如何新增数据列?
在数据分析时,原始数据往往不能满足我们的需求,经常需要按照一定条件创建新的数据列或者修改原有数据列,然后进行后续分析。
生信real
2022/12/20
2.1K0
Pandas基础:在Pandas数据框架中移动列
有时候,我们需要在pandas数据框架内移动一列,shift()方法提供了一种方便的方法来实现。
fanjy
2022/06/04
3.3K0
Pandas基础:在Pandas数据框架中移动列
当仓库不为空、从gitee远程仓库拉取
1.从gitee远程仓库拉取
2020/10/23
1.1K0
当仓库不为空、从gitee远程仓库拉取
在Pandas中更改列的数据类型【方法总结】
有什么方法可以将列转换为适当的类型?例如,上面的例子,如何将列2和3转为浮点数?有没有办法将数据转换为DataFrame格式时指定类型?或者是创建DataFrame,然后通过某种方法更改每列的类型?理想情况下,希望以动态的方式做到这一点,因为可以有数百个列,明确指定哪些列是哪种类型太麻烦。可以假定每列都包含相同类型的值。
kirin
2021/04/19
20.8K0
在Pandas中更改列的数据类型【方法总结】
获取GridView中的某列值
    protected void GridView1_RowEditing(object sen
Java架构师必看
2021/03/22
10.6K0
Python-科学计算-pandas-22-按某列排序
系统:Windows 10 编辑器:JetBrains PyCharm Community Edition 2018.2.2 x64 pandas:1.1.5
zishendianxia
2021/09/29
1.5K0
【说站】js如何检查是否满足条件
1、every只有满足每个条件才能返回true,some是任何一个满足返回true的项目,filter过滤出所有符合条件的项目(找不到返回空)。
很酷的站长
2022/11/24
2.3K0
【说站】js如何检查是否满足条件
pandas’_pandas 删除列
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/10/02
2.7K0
pandas’_pandas 删除列
在 Pandas DataFrame 中应用 IF 条件的5种方法
现在,我们创建一个仅包含Jon, Bill, Maria and Emma等文本内容的DataFrame,IF 条件如下:
披头
2022/08/22
9.6K0
在 Pandas DataFrame 中应用 IF 条件的5种方法
C# 找出泛型集合中的满足一定条件的元素 List.Wher()
在学习的过程中,发现泛型集合List<T>有一个Where函数可以筛选出满足一定条件的元素,结合Lambda表达式使用特别方便,写出来与大家分享。 1.关于Func<> Func是一种有任意个输入参数,有一个返回值的委托,在使用的过程中,Func<in,in,out>,前n-1个是输入参数类型,第N个是输出参数类型。 如Fun<int,int,bool> compare=(x,y)=>{return x>y;}; 表示定义一个 两个输入参数为int类型的,输出类型为bool类型的委托。 2.Where()
码农阿宇
2018/04/18
2K0
C# 找出泛型集合中的满足一定条件的元素 List.Wher()
spring注解@Conditional 按照一定的条件进行判断,满足条件给容器中注册bean
@Conditional({}) 按照一定的条件进行判断,满足条件给容器中注册bean * 在类上使用表示,满足条件会执行这个类,如果不满足则类中所有方法都不会加载 * 在方法上使用表示,满足条件会执行这个方法
全栈程序员站长
2022/11/17
2940
在eclipse中拉取github互联网上的代码
import–>projects from git—>clone URI–>输入要拉取代码的git网址:
全栈程序员站长
2022/06/30
1.4K0
在eclipse中拉取github互联网上的代码
求数组满足条件个数
System.out.println("数组中大于50的有"+max+"个,小于50的有"+min+"个");
算法与编程之美
2023/01/03
3880
求数组满足条件个数
Django ORM 查询表中某列字段值
方式一获取到的是一个QuerySet,内容是键值对构成的,键为表的列名,值为对应的每个值。
BigYoung小站
2020/05/04
3.8K0
git 克隆或拉取时的一些细节
后来发现另一个更重要的,特别是在一个项目刚开始克隆别人的项目时,使用 --depth 参数来设置拉取深度更有效。
雪碧君
2023/02/15
3930
点击加载更多

相似问题

@KafkaListener只有在满足一定条件时才拉取新数据,如果条件不成立,则应停止拉取数据,直至满足条件为止

113

拉取某列中编号最小的行

43

仅当满足两个条件时才从SQL拉取

10

当某列中具有相同值的其他行满足条件时更新行

11

根据一定条件拉取ManytoOne

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档