用python字符串填充空列表元素

2024-04-26 03:25:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含嵌套列表的数据帧。其中一些列表是空的,或者只包含空格。e、 克:

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]

Tags: 数据indataframedf列表forstringexample
1条回答
网友
1楼 · 发布于 2024-04-26 03:25:50

使用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, ...
  • 注意:如果您的数据因为迭代而非常大,那么这将非常缓慢。你知道吗

相关问题 更多 >