筛选出pd.DataFrame的nan
时间: 2023-02-13 15:54:39 浏览: 99
您可以使用 `pd.DataFrame.isnull()` 或 `pd.isnull()` 函数来筛选出 pd.DataFrame 中的 nan。例如:
```
import pandas as pd
df = pd.DataFrame([[1, 2, 3], [float('nan'), 5, 6], [7, 8, 9]])
# 使用 pd.DataFrame.isnull() 函数筛选出 nan
nan_rows = df[df.isnull().any(axis=1)]
print(nan_rows)
# 使用 pd.isnull() 函数筛选出 nan
nan_rows = df[pd.isnull(df).any(axis=1)]
print(nan_rows)
```
输出结果如下:
```
0 1 2
1 NaN 5.0 6
```
相关问题
import pandas as pd df = pd.ExcelFile(r'F:\Python_file\test_sheet\output3.xlsx') df.sheet_names df_list = [] for sheet in df.sheet_names: print(sheet) read_sheet = pd.read_excel(df, sheet, header=2) rows = range(0, read_sheet.shape[0]) for row in rows: try: col_test = read_sheet.iloc[row, 4] # print(col_test) # exit() if ("25" in col_test) and ('4.2v' in col_test or '4.2V' in col_test): # if '4.15V' in col_test: # continue # if ('60' in col_test or '45' in col_test): # continue df_list.append(read_sheet.iloc[[row], :5]) else: continue except Exception as err: print('col nan') df_list = pd.DataFrame(df_list) df_concat = pd.concat(df_list, axis=0) print(df_concat)
这段代码看起来是用来处理 Excel 文件的。首先,使用 pandas 库中的 ExcelFile 方法读取一个 Excel 文件,然后通过 sheet_names 属性获取所有工作表的名称。接下来,循环遍历每个工作表,使用 read_excel 方法读取数据,并通过 iloc 方法获取指定的行和列。其中,if 语句用于筛选出符合特定条件的行,将这些行添加到 df_list 中。最后,使用 concat 方法将 df_list 中的数据合并成一个 DataFrame,并输出结果。
import pandas as pd df = pd.ExcelFile(r'F:\Python_file\read_sheet\CLP_LFP\xfun\output.xlsx') df.sheet_names df_flist = [] for sheet in df.sheet_names: print(sheet) read_sheet = pd.read_excel(df, sheet, header=2) rows = range(0, read_sheet.shape[0]) for row in rows: try: col_test = read_sheet.iloc[row, 3] if ("25" in col_test) and ('4.2v' in col_test or '4.2V' in col_test): # if '4.15V' in col_test: # continue # if ('60' in col_test or '45' in col_test): # continue df_flist.append(read_sheet.iloc[[row], :4]) except Exception as err: print('col nan') df_flist = pd.DataFrame(df_flist) df_concat = pd.concat(df_flist, axis=0) print(df_concat) 报错ValueError: Must pass 2-d input. shape=(120, 1, 4)
这是一个Python代码,看起来是在读取一个Excel文件中的多个sheet,然后筛选符合条件的行并将它们添加到一个列表中,最后将列表中的所有行合并成一个DataFrame。根据报错提示,可能是在尝试合并数据时出现了问题,需要查看具体的数据形状和内容来确定原因。可以尝试print一些中间结果来调试。另外,由于我是一个 AI,不能直接运行你的代码,如果你需要更多的帮助,请提供更多的信息或代码片段,这样我才能更好地帮助你。
阅读全文