python - 基于列的熊猫数据框中的计数器/索引
问题描述
我有以下数据框:
df
Date Application Weekday
02.01 A 3
02.01 B 3
03.01 A 4
03.01 B 4
04.01 A 5
04.01 B 5
05.01 A 6
05.01 B 6
我想过滤掉工作日:5,6 并希望有一个基于日期的新索引,这意味着我想得到:
df
Date Application Weekday Index
02.01 A 3 1
02.01 B 3 1
03.01 A 4 2
03.01 B 4 2
我怎么能得到那个?
解决方案
使用boolean indexing
和创建新列DataFrame.assign
,factorize
lambda 函数是处理过滤数据所必需的:
df = df[df['Weekday'].lt(5)].assign(Index = lambda x: pd.factorize(x['Date'])[0] + 1)
print (df)
Date Application Weekday Index
0 2.01 A 3 1
1 2.01 B 3 1
2 3.01 A 4 2
3 3.01 B 4 2
推荐阅读
- c# - 在 C# 中使用 Finisar.SQLite 在 SQLite Alter Table 上出现语法错误
- python - 在python中处理两个列表的索引
- git - Git 无法锁定 ref 'HEAD'
- reactjs - 如何将我的 React 项目部署到生产环境?
- swift - 如何使用滚动更改导航栏和 BarButtonItem 的颜色
- typescript - 强制索引键为字符串类型(类型没有索引签名)
- python - 为熊猫打印设置列宽
- microsoft-dynamics - 如何在 WSO2 ESB 与 MS Dynamic 365 之间建立连接?
- python - Python Beautifulsoup - 从“检查”中刮取元素
- rust - Rust 结构定义中的最后一个逗号是否必要?