pd.read_csv删除空值
时间: 2023-12-09 12:32:41 浏览: 120
可以使用 dropna() 方法来删除空值。具体操作如下:
```python
import pandas as pd
# 读取 csv 文件
df = pd.read_csv('data.csv')
# 删除空值
df.dropna(inplace=True)
# 输出处理后的数据
print(df)
```
其中,`inplace=True` 表示直接在原数据上进行修改,不返回新的数据。
相关问题
``` data_5 = pd.read_csv(path_5) ```筛选from列为空
在 Pandas 中读取 CSV 文件并筛选出特定列(如 `from` 列)为空的行,可以通过以下步骤实现。这里不仅包括基本的操作介绍,还会提供完整的代码示例帮助您理解整个过程。
### 读取CSV文件和筛选空值操作
#### 步骤1:导入所需的库以及读取数据
首先要确保已经安装好Pandas库,并使用其提供的功能加载外部存储的数据源。假设您的CSV路径保存在一个名为 `path_5` 的变量中:
```python
import pandas as pd
# 将 CSV 文件内容加载至 DataFrame 对象内
data_5 = pd.read_csv(path_5)
```
这条语句会创建一个新的DataFrame对象 `data_5` ,其中包含了从指定路径下的CSV文件读入的所有数据。
#### 步骤2:查看初步信息
为了更好地了解所处理的数据结构,在正式开始之前可以先打印出前几条记录或是统计一下各列的基本情况:
```python
print("Data Preview:")
print(data_5.head())
print("\nBasic Information of Data:")
print(data_5.info())
```
这有助于确认哪些列可能存在缺失值等问题。
#### 步骤3:筛选 `from` 列为空的行
现在我们可以专注于找出所有满足“from列为null”的那些记录了。请注意,“null”在这里指的是Python里的 `NaN` 或者类似表示法。您可以采用多种方法来达成目的:
- **直接使用 isna() / isnull() 方法**
这种方法最为直观简单,能准确捕捉到任何形式上的缺失值:
```python
empty_from_rows = data_5[data_5['from'].isna()]
```
- **结合布尔索引与条件表达式**
如果您还想同时考虑其他类型的空白输入(例如字符串形式的"NULL", "nil"等),则可以用更多自定义规则构成过滤器:
```python
empty_or_blank = (data_5['from'].isna()) | \
(data_5['from'] == '') | \
(data_5['from'].str.strip().isin(['NULL', 'nil']).fillna(False))
filtered_data = data_5[empty_or_blank]
```
上面的例子展示了如何综合运用多个逻辑运算符以及正则表达式的技巧,从而更加灵活地定位目标子集。
#### 输出结果
无论选用哪种方式,最后都可以方便快捷地展示筛选出来的部分:
```python
print("\nRows where column 'from' is empty or null:")
print(empty_from_rows) if not empty_from_rows.empty else print('No matching rows found.')
```
这样就完成了根据给定标准提取所需信息的任务!
import pandas as pd data = pd.read_csv("D:\data\BIOPRO.csv") data.shape data.info() data.isnull() data.dropna(axis=0, how='any', thresh=None, subset=None, inplace=True) data.to_csv('D:\data\data2.csv', encoding='utf-8_sig')
你的代码是基于 Pandas 的,它用来读取一个 CSV 文件,然后查看数据的形状和信息,检查是否有缺失值,如果有就删除这些行,最后将处理过的数据保存到一个新的 CSV 文件中。具体来说:
- `pd.read_csv("D:\data\BIOPRO.csv")` 读取了一个名为 BIOPRO.csv 的 CSV 文件,并将其存储在一个 Pandas 数据帧中。
- `data.shape` 返回数据帧的形状,即它有多少行和多少列。
- `data.info()` 返回数据帧的信息,包括每一列的名称、数据类型和非空值数量等。
- `data.isnull()` 返回一个布尔值的数据帧,用来指示哪些单元格是缺失值。
- `data.dropna()` 删除具有缺失值的行,其中 `axis=0` 表示删除行,`how='any'` 表示只要该行中有一个缺失值就删除,`thresh=None` 表示不考虑每行中的非缺失值数量,`subset=None` 表示删除所有行中的缺失值,`inplace=True` 表示在原始数据帧上进行修改。
- `data.to_csv()` 将处理过的数据帧保存为一个名为 data2.csv 的 CSV 文件,编码为 UTF-8。
阅读全文
相关推荐
















