[英]Removing float nan values from python list
上下文:我已将数据框转换为列表,以便为市场篮子分析准备数据。 数据框的每一行现在都是一个列表。 每个列表都有 nan 值,我想将列表压缩为非 nan 值。
原始数据框示例
Presc01 Presc02 Presc03 Presc04 \
0 NaN NaN NaN NaN
1 amlodipine albuterol aerosol allopurinol pantoprazole
2 NaN NaN NaN NaN
3 citalopram benicar amphetamine salt combo xr NaN
4 NaN NaN NaN NaN
每隔一行都是空白的,所以我删除了它并使用以下方法重新索引:
df.dropna(subset = ["Presc01"], inplace=True)
df.index = range(len(df))
然后将行转换为列表:
prescriptions = df.values.tolist()
第 4 个列表的示例:
in: print(prescriptions[3])
out:['paroxetine', 'allopurinol', nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan]
然后,我创建了一个检查来查看列表中的数据类型:
def checktype(prescriptions):
for element in prescriptions:
if isinstance(element,int):
print("Integer")
if isinstance(element, str):
print("String")
if isinstance(element, float):
print("Float")
并检查第 4 行:
in: checktype(prescriptions[3])
out:String String Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float
我尝试了几种在线发布的方法,使用 np.isnan、pd.isnull、“for x if in x if x = x(或 if x = not null,或者 if x =!'nan')”等的变体,我仍然无法让他们离开。
蒂亚!
我通过将所有列组合在一起并将它们重新拆分为列表来解决这个特定问题。 nan 在新名单中被淘汰。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.