簡體   English   中英

替換Python Pandas dataframe中對應的列值

[英]Replacing the corresponding column values in Python Pandas dataframe

我有一個數據框,說:

 Name Visits 0 Z 0 1 A 0 2 B 1 3 C 1 4 D 0 5 E 0

現在,我列出了那些訪問次數為 0 的名字,所以它有 Z、A、D 和 E。現在,我從這 4 個名字中隨機選擇 2 個名字。然后,我想將這 2 個人的訪問次數增加1.如何只引用這兩個名字,訪問他們對應的訪問並修改它? [python,熊貓] 謝謝!

這是一個可能的解決方案:

df.visit[df.visit == 0] += 1

如果您已經有誰訪問過 0 次的列表,您可以使用pd.Series.isin為 boolean 索引創建一個 boolean 掩碼,然后將相應的值增加 1

vals = ['Z', 'A', 'D', 'E']
m = df['Name'].isin(vals)
df.loc[m, 'Visits']+=1
# This only increases Z, A, D, E visits by 1

嘗試random.choice from number 然后按index分配值

df.loc[np.random.choice(df.index[df.Visits==0],2),'Visits'] += 1
df
Out[95]: 
  Name  Visits
0    Z       1
1    A       0
2    B       1
3    C       1
4    D       0
5    E       0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM