![](/img/trans.png)
[英]How to fill dataframe Nan values with empty list [] in pandas?
[英]How to fill dataframe Nan values with empty list [] of 4 elements in pandas?
這是我的數據框:
date ids
0 2011-04-23 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,...
1 2011-04-24 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,...
2 2011-04-25 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,...
3 2011-04-26 NaN
4 2011-04-27 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,...
5 2011-04-28 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,...
我想用 [[],[],[],[]] 替換Nan
。 怎么做?
df['ids'].fillna("").apply(list)
對於 1 元素列表效果很好,但是我們如何將它與 4 元素列表一起使用?
您不能將fillna
與列表一起使用,但您可以創建一個包含重復數據幀長度的列表的系列,並將其分配給b
其中b
是 NaN:
df.loc[df['b'].isna(), 'b'] = pd.Series([ [[]]*4 ] * len(df))
你可以試試
df['ids'] = df['ids'].apply(lambda x: [[],[],[],[]] if x!=x else x)
這使用了np.nan
與自身不相等的特性。
您可以使用.apply()
檢查該值是否為np.nan
。 如果是,則填充嵌套列表,否則為正常值。
嘗試這個:
df['ids'] = df['ids'].apply(lambda d: d if d is not np.nan else [[],[],[],[]])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.