[英]Fill Dataframe column based on values
我有一個 dataframe 有幾列,每列都有二進制值。 對於每一列,我都有一個 numpy 數組,其中一些值與列的長度相同。
我需要用 numpy 數組填充該列,但有一個條件:僅當 dataframe 列中的值為 0 時才填充,如果不是從 Z2EA9510C37F7F821E4941FF75FCB2 數組填充。
使用 for 循環我會得到這樣的東西:
for col in df.columns:
for i in df[col]:
if df.loc[i,col] == 0:
df.at[i,col] = arr[i,col]
else:
continue
但是這很慢,而且我的 dataframe 有點大(10k 行 * 180 列),我正在尋找是否有任何優雅的 pythonic 方式來做到這一點
你可以試試
df=df.mask(df==0,arr)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.