Python 在条件匹配的df中迭代数字
在尝试自学熊猫的同时玩弄不同的数据帧,这让我有一段时间被难倒了,这似乎是缺乏编程理解,但有人能帮我吗 考虑以下因素:Python 在条件匹配的df中迭代数字,python,pandas,Python,Pandas,在尝试自学熊猫的同时玩弄不同的数据帧,这让我有一段时间被难倒了,这似乎是缺乏编程理解,但有人能帮我吗 考虑以下因素: ID Name Week 1 Matthew 1751 1 Matthew 1751 1 Matthew 1751 2 Jon 1751 2 Jon
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?使用
这真的很好,谢谢。我真的很羡慕你能这么快想出答案。康普伯爵是新来的,我要去看熊猫!回答得很清楚+1@DatanoviceYw:)很乐意帮忙。@Vaishali谢谢你UU:)很抱歉忘了打绿色勾!我向阿比拜道歉。
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