簡體   English   中英

如何在 python 中執行數學函數(mod)以僅包含數字數據的單元格並跳過空單元格

[英]how to perform math function(mod) in python to only cells with numeric data and skip empty cells

如何僅對包含數據的單元格執行 mod(%4) 並跳過空單元格。 它無法對空單元格執行 mod,所以我想跳過空單元格。

0    1    2    3    4    5    6    7    8    9    10
A         23   23   10   54   23                               
B         34   12   34   54               
C         98   76
D         11   12   12
E         14   23

我嘗試了下面的代碼,但是當某個列找到空單元格時,它不執行任何操作。

for i in split.iloc[:,2:]:
   if not np.where(split[i]==''):
       split[i] =split[i].astype(int)
       split[i]=split[i]%4
   else:
       continue

---------------------------------------------------------------

actual output

0    1    2    3    4    5    6    7    8    9    10
A         3   3   10   54   23                               
B         2   0   34   54               
C         2   0
D         3   0   12
E         2   3

---------------------------------------------------------------

output expected

0    1    2    3    4    5    6    7    8    9    10
A         3   3     2    2    3                               
B         2   0     2    2               
C         2   0
D         3   0     0
E         2   3

根據條件分配:

df = pd.DataFrame({'1':['',1,2,3,''], '2':[4,7,8,'','']})
   a  b
0     4
1  1  7
2  2  8
3  3
4

df[lambda x: x!=''] = df[lambda x: x!=''] % 4
   a  b
0     0
1  1  3
2  2  0
3  3
4

暫無
暫無

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

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