2024-07-08 07:23:15 发布
网友
我想在dataframe中将html字符替换为字符串
我尝试了以下代码,但无法更改为stirng
import html html.unescape(data)
这是我的数据框,我怎样才能做到这一点
供您参考,此结果来自谷歌云的翻译API
ID A1 A2 A3 1我不知道是否不符合事实上我很难理解。。。我不知道它是否符合我的经验。。。我认为这是一个正确的网页设计,至少。。。NaN此商品的价格为400元人民币或4英镑
如果没有任何NaN,那么可以简单地使用applymap()让所有单元格由html.escape处理
applymap()
html.escape
因此,如果您认为可以将NaN转换为空字符串,则可以使用:
df.fillna("").applymap(html.unescape)
如果您想保留NaN,那么一个好的解决方案是使用stack()将列转换为另一级别的索引,这将抑制NaN条目。然后,您可以使用apply()(因为它现在是一个系列,而不是一个数据帧)和稍后的unstack()将其恢复到原始格式:
stack()
apply()
unstack()
df.stack().apply(html.unescape).unstack()
但请注意,最后一个方法将删除完全由NaN组成的行或列,不确定您是否可以接受
另一种选择是使用applymap()但使用lambda,并且仅将html.unescape应用于非NaN的术语:
html.unescape
df.applymap(lambda x: html.unescape(x) if pd.notnull(x) else x)
如果没有任何NaN,那么可以简单地使用
applymap()
让所有单元格由html.escape
处理因此,如果您认为可以将NaN转换为空字符串,则可以使用:
如果您想保留NaN,那么一个好的解决方案是使用
stack()
将列转换为另一级别的索引,这将抑制NaN条目。然后,您可以使用apply()
(因为它现在是一个系列,而不是一个数据帧)和稍后的unstack()
将其恢复到原始格式:但请注意,最后一个方法将删除完全由NaN组成的行或列,不确定您是否可以接受
另一种选择是使用
applymap()
但使用lambda,并且仅将html.unescape
应用于非NaN的术语:相关问题 更多 >
编程相关推荐