python - 在条件匹配的df中迭代数字
问题描述
在尝试自学 Pandas 的同时玩弄不同的数据框,这让我有一段时间感到困惑,这似乎缺乏对编程的理解,但有人能帮忙吗?
考虑以下df:
ID Name Week
1 Matthew 1751
1 Matthew 1751
1 Matthew 1751
2 Jon 1751
2 Jon 1751
2 Jon 1751
2 Jon 1751
3 Lisa 1751
3 Lisa 1751
3 Lisa 1751
3 Lisa 1751
3 Lisa 1751
3 Lisa 1751
3 Lisa 1751
我在这里尝试做的是为索引中的每个出现的周数添加 + 1,但仅在名称与其自身匹配的地方。
ID Name Week
1 Matthew 1751
1 Matthew 1752
1 Matthew 1753
2 Jon 1751
2 Jon 1752
2 Jon 1753
2 Jon 1754
3 Lisa 1751
3 Lisa 1752
3 Lisa 1753
3 Lisa 1754
3 Lisa 1755
3 Lisa 1756
3 Lisa 1757
我尝试了一个简单的 for 循环
但它只是将索引的长度增加到数字,我也试过
for n in df.Name:
print(len(n))
它只返回每个字符串的长度(正确),添加索引只返回索引的长度,即 n 出现的次数。
我错过了一些基本的东西吗?我应该先创建一个列表然后将其传递给df吗?
解决方案
df['Week'] = df.Week.add(df.groupby('Name').cumcount())
ID Name Week
0 1 Matthew 1751
1 1 Matthew 1752
2 1 Matthew 1753
3 2 Jon 1751
4 2 Jon 1752
5 2 Jon 1753
6 2 Jon 1754
7 3 Lisa 1751
8 3 Lisa 1752
9 3 Lisa 1753
10 3 Lisa 1754
11 3 Lisa 1755
12 3 Lisa 1756
13 3 Lisa 1757
推荐阅读
- .net - 检测 Entity SQL 命令文本
- php - header('位置:http://localhost:8888/CasinoAPP/admin/index.php'); 不工作
- string - Vue2 v-show 在循环中验证空字符串
- android - 从在 appium 测试中运行的 android 应用程序获取 fcm 令牌
- arrays - 如何获取大数组中子数组的索引
- php - 使用带有 .htaccess 规则的搜索函数的 $_GET 变量重写 URL 变量
- php - PHP:如何使用所有现有键初始化二维数组中的单元格,以便所有行具有相同数量的元素
- c# - 有没有办法使用某些库以编程方式使用 MSTest 执行测试用例
- javascript - Angular DOM:Dom 不是每 1000 毫秒用 $interval 更新一次
- jmeter - Jmeter JSONs比较