python - 用字符串python填充空列表元素
问题描述
我有一个包含嵌套列表的数据框。其中一些列表是空的,或者只包含空格。例如:
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]
解决方案
使用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, ...
- 注意:如果您的数据由于迭代而非常大,这将很慢。
推荐阅读
- python - 如何在熊猫 groupby 之后跨列求和?
- php - 如何从录制状态回调中获取 From 和 To 号码
- amazon-web-services - 使用 S3 全球域名的 CloudFront 来源是否比区域域名表现更好?
- c# - Autofac:注册通用抽象类
- jquery - Wordpress the_title(); 里面光滑的滑块
- python - 捕获具有特定属性的 html 元素
- r - R中有没有一种方法可以使用Microsoft Power BI从网站中提取数据
- jquery - jquery自动完成下拉列表宽度100%
- shell - 从读取行创建文件的 Bash 脚本
- javascript - 如何通过多选获取表单数据,类似于jquery val?