python - 最后一个有效项目的子集df - pandas
问题描述
我正在尝试使用最后一个特定值对 df 进行子集化。使用下面,我想在时间X
出现之前对每一行进行子集化Item
。
import pandas as pd
df = pd.DataFrame({
'Item' : ['Y','X','B','X','A','Y'],
'Number' : [2,3,2,4,2,1],
})
df_out = df[df['Item'] == 'X'].last_valid_index()
预期输出:
Item Number
0 Y 2
1 X 3
2 B 2
3 X 4
解决方案
尝试使用iloc
:
a = df[df['Item'] == 'X'].last_valid_index()
print(df.iloc[:a + 1])
输出:
Item Number
0 Y 2
1 X 3
2 B 2
3 X 4
推荐阅读
- api - 更新 Okta 应用程序
- python-3.x - 音乐队列,discord.py 音乐机器人
- javascript - 为什么在 js 中删除类对我不起作用?
- android - Flutter Dart - 屏幕关闭时隔离停止工作
- java - 如何使用 lambda 遍历嵌套的 Java 集合
- spring-boot - 几次 (3-4) 次运行后 Kubernetes Pod CPU 节流
- java - 单击时如何更改图标并保持不变,直到用户在android studio中再次单击
- android - 如何使用 Databinding 为 recyclerview 设置适配器
- laravel - 如何在 Laravel 中使用伪造的上传文件测试 HTTP attach()
- r - R - 具有领先和滞后的逻辑陈述