简体   繁体   English

用数据框中的列表替换 None

[英]Replacing None with a list within a dataframe

I have the below dataframe which comes from a JSON我有以下来自 JSON 的数据框


0        [0, 5.9, 4]       [1, 6, 23]      [2, 6.2, 2]
1      [0, 48, 3.11]      [1, 50, 10]    [2, 55, 13.1]
2   [0, 1.42, 90.26]  [1, 1.43, 91.8]   [2, 1.44, 121]
3    [0, 970, 18.41]   [1, 990, 1.53]             None
4    [0, 970, 18.42]   [1, 990, 1.55]  [2, 1000, 22.5]
5     [0, 740, 9.37]   [1, 990, 1.53]             None
6     [0, 740, 9.37]   [1, 900, 2.21]   [2, 990, 1.55]
7    [0, 970, 18.45]    [1, 990, 1.6]             None
8     [0, 740, 9.39]   [1, 990, 2.55]             None
9     [0, 970, 18.4]    [1, 990, 1.6]             None
10      [0, 42, 1.1]    [1, 85, 1.91]    [2, 90, 1.04]

trying to format ready for db insertion, i am splitting using .tolist() but getting error for None entries.试图格式化为数据库插入做好准备,我正在使用 .tolist() 进行拆分,但出现 None 条目错误。

tried fillna and replace to insert a dummy list ie [0,0,0] but will only let me replace with a string.尝试使用 fillna 和 replace 插入一个虚拟列表,即 [0,0,0] 但只会让我用字符串替换。 Any suggestions welcome.欢迎任何建议。

this works这行得通

#df_split_batl = df_split_batl.fillna('xx') #df_split_batl = df_split_batl.replace('xx','yy') #df_split_batl = df_split_batl.fillna('xx') #df_split_batl = df_split_batl.replace('xx','yy')

but these dont但这些不

#df_split_batl = df_split_batl.fillna([0,0,0]) #df_split_batl = df_split_batl.fillna([0,0,0])

#df_split_batl = df_split_batl.fillna('xx') #df_split_batl = df_split_batl.fillna('xx')

#df_split_batl = df_split_batl.replace('xx',[0,0,0]) #df_split_batl = df_split_batl.replace('xx',[0,0,0])

Check the following link, it might be helpful for your case: Replace NaN with empty list in a pandas dataframe检查以下链接,它可能对您的情况有帮助: Replace NaN with empty list in a pandas dataframe

Instead of replacing it with an empty list, you'll replace it with a list containing elements.不是用空列表替换它,而是用包含元素的列表替换它。

RGS20 :) RGS20 :)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM