Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        2年前关闭。
                                                                                            
                
        
我有一个大约7k行和4列的文件。许多单元格是空的,我尝试使用许多pandas函数将其删除,但似乎无济于事。我尝试过的函数和代码如下:

我尝试过的

df = df.dropna(thresh=2)




df.dropna(axis=0, how='all')


我的代码:

file = "pc-dirty-data.csv"
path = root + file
name_cols = ['GUID1', 'GUID2', 'Record ID', 'Name', 'Org Name', 'Title']
pull_cols = ['Record ID', 'Name', 'Org Name', 'Title']
df = df.dropna(thresh=2)
df.dropna(axis=0, how='all')
df = pd.read_csv(path, header=None, encoding="ISO-8859-1", names=name_cols, usecols=pull_cols, index_col=False)
df.info()


数据框:

RangeIndex: 6599 entries, 0 to 6598
Data columns (total 4 columns):
Record ID    5874 non-null float64
Name         5874 non-null object
Org Name     5852 non-null object
Title        5615 non-null object
dtypes: float64(1), object(3)

最佳答案

dropna不是就地操作,您需要将其重新分配回变量或使用设置为True的inplace参数。

df = df.dropna(axis=0, how='all')


要么

df.dropna(axis=0, how='all', inplace=True)


编辑

Jay在注释中指出,您需要对代码逻辑进行重新排序,以便在drop_csv之后dropna。

关于python - 删除NaN行在 Pandas 中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45111589/

10-12 22:03
查看更多