我有一个包含嵌套列表的数据框。其中一些列表为空,或仅包含空格。例如:
df=pd.DataFrame({'example':[[[' ', ' '],['Peter'],[' ', ' '],['bla','blaaa']]]})
对于我的进一步操作,它们不允许为空,也不能删除。有没有办法用例如'some_string
df.example = [[[a.replace(' ','some_string')if all a in i =='\s'for a in i]for i in x] for x in df.example]
,但这会产生无效的语法错误,而且它不会仅填充列表,而是填充列表中的每个空格。
由于我仍在学习python,因此我对解决方案的想法可能太复杂或完全错误。
即解决方案应如下所示:
example
0 [[some_string], [Peter], [some_string], [bla, blaaa]
答案 0 :(得分:2)
使用apply
例如:
df=pd.DataFrame({'example':[[[' ', ' '],['Peter'],[' ', ' '],['bla','blaaa']]]})
df["example"] = df["example"].apply(lambda x: [i if "".join(i).strip() else ['some_string'] for i in x])
print(df)
输出:
example
0 [[some_string], [Peter], [some_string], [bla, ...