我每天收集和處理數百張雜亂無章的表格,其中一些資料需要注意。

(對不起我的英語和排版技能)
帶有[LEVEL]"S"的專案很少出現,出現時(第3,6行),如果["Check"]列是"Go"(第6行),則需要填寫目標列的空白in.(如果不為空,則保留原值)
- ["FillNA"]欄的空白處需要填寫"DANGER"。
(2.如果可能,["Detail"]列的空白處需要填寫dataframe的行號&& ["Check"]列指示的動作。)
N = pd.NA
df= pd.DataFrame({ "LEVEL":["E","D","C","S","A","B","S","A","B","C"],
"CHECK":["HELLO",N ,N,"Keep",N,N,"Go",N,N,N],
"FillNA":["WORLD",N ,N,"Data",N,N,N,N,N,N],
"Detail":[N,N,N,N,N,N,N,N,N,N] })
print(df)
uj5u.com熱心網友回復:
世界自然保護聯盟,
m = df['LEVEL'].eq('S') & df['CHECK'].eq('Go')
df['FillNA'] = df['FillNA'].mask(m & df['FillNA'].isna(), 'DANGER')
df['Detail'] = df['Detail'].mask(m & df['Detail'].isna(), df.index.astype(str) ' ' df['CHECK'])
# or
cols = ['FillNA', 'Detail']
df.loc[m, cols].fillna({'FillNA': 'DANGER', 'Detail': df.index.astype(str) ' ' df['CHECK']}, inplace=True)
print(df)
LEVEL CHECK FillNA Detail
0 E HELLO WORLD <NA>
1 D <NA> <NA> <NA>
2 C <NA> <NA> <NA>
3 S Keep Data <NA>
4 A <NA> <NA> <NA>
5 B <NA> <NA> <NA>
6 S Go DANGER 6 Go
7 A <NA> <NA> <NA>
8 B <NA> <NA> <NA>
9 C <NA> <NA> <NA>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/474762.html
