我有一个数据框
df = pd.DataFrame([["str",None,"aad","asd"],[None,"ddd",None,pd.NaT],["xyz",None,"abc",None],["btc","trz","abd",pd.NaT]],columns=list('ABCD'))
我想要一个只包含字符串值的列表
例如:
[['str', 'aad', 'asd'],['ddd'], ['xyz','abc'], ['btc', 'trz', 'abd']]
我试过了
df.values.tolist()
但我得到了一个完整的列表,其中没有NaT和NaN值
有没有办法只保留字符串值并删除其他数据类型
如果要删除} 使用列表理解和另一个与filtarion嵌套的列表理解:
NaN
、None
和NaT
使用^{或者,如果只想筛选字符串,请使用
isinstance
作为条件:您可以使用提供名称
dropna()
的方法轻松删除它们,这样您就可以将其用于索引或列,您可以像这样使用它在您的例子中,df.dropna()如果您想从列中删除,您将通过axis=1,默认情况下它也不是零。 您还可以使用文档了解更多详细信息 https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.dropna.html
这将删除整行或整列,您也可以使用一些函数来检查它,您可以使用
notnull()
或fillna()
进行检查。 我希望有帮助相关问题 更多 >
编程相关推荐