所以我有一個資料集看起來像:
| 可樂 | B欄 | 科爾C |
|---|---|---|
| 啦?啦?啦 | 老師 | 123456 |
| 波波波 | 學生 | 232322 |
| 切切 | 老師 | 455433 |
| 拉拉拉 | 學生 | 231231 |
| 田園詩 | 老師 | 235433 |
| 莉莉莉 | 老師 | 723543 |
我想更換COL A什么時候
Col B = 老師和左(COL C ,1)= 2/4
如果老師和數字= 2/4,我想替換它然后Teacher2 如果老師和數字= 1,我想替換它然后Teacher Else 現有資料保留。
LEFT( COL B ,1) = COL C 中第一個數字的子字串。
預期輸出將是
| 可樂 | B欄 | 科爾C |
|---|---|---|
| 老師 | 老師 | 123456 |
| 波波波 | 學生 | 232322 |
| 老師2 | 老師 | 455433 |
| 拉拉拉 | 學生 | 231231 |
| 老師2 | 老師 | 235433 |
| 莉莉莉 | 老師 | 723543 |
uj5u.com熱心網友回復:
利用numpy.select與面具一起
# filter Teacher in Col B
m1 = df['Col B'].eq('Teacher')
#first letter 2 or 4 in Col C
s = df['Col C'].astype(str).str[0]
m2 = s.isin(['2','4'])
#first letter 1
m3 = s.eq('1')
df['Col A'] = np.select([m1 & m2, m1 & m3], ['Teacher2','Teacher'], default=df['Col A'])
print (df)
Col A Col B Col C
0 Teacher Teacher 123456
1 Popopo Student 232322
2 Teacher2 Teacher 455433
3 Lalala Student 231231
4 Teacher2 Teacher 235433
5 Lilili Teacher 723543
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/521116.html
標籤:Python熊猫麻木的
下一篇:二維陣列的布爾索引
