问题描述
我试图用空单元格值替换脚本输出中每次出现的空列表[]
,但都在努力确定它是什么对象。
因此,运行.to_excel
后的数据输出如下:
现在数据最初以JSON格式存在,我正在使用data_normalized = pd.json_normalize(data)
对其进行规范化。我正在尝试使用filtered = data_normalized.loc[data_normalized['focuses'] == []]
过滤掉出现的空列表,但是那没有用。我也尝试过filtered = data_normalized.loc[data_normalized['focuses'] == '[]']
如果有帮助,列focuses
的dtype为Object
。因此,我对如何选择此数据感到困惑。
最终,我只想运行data_normalized.replace('[]','')
,但要更新第一个参数,以便我可以正确选择空列表。
解决方法
您可以尝试使用df
将pd.DataFrame.astype(str)
转换为字符串类型,然后使用regex参数为False的replace
:
df.astype(str).replace('[]','',regex=False)
示例:
df=pd.DataFrame({'a':[[],1,2,3]})
df.astype(str).replace('[]',regex=False)
a
0
1 1
2 2
3 3
,
我认为空集被认为是缺失数据。因此,当您加载数据集时,您可以进行处理
这可能会帮助
https://pandas.pydata.org/pandas-docs/stable/user_guide/missing_data.html
,我对熊猫的经验确实很少,但是由于您无法识别对象,请尝试将获取的列表转换为字符串,然后将其与“ []”进行比较
例如,尝试使用此
filtered = data_normalized.loc[string(data_normalized['focuses']) == '[]']