手册
目录
在分析数据时,空单元格可能会给您带来错误的结果。
处理空单元格的一种方法是删除包含空单元格的行。
这通常是可行的,因为数据集可能非常大,删除几行不会对结果产生很大影响。
返回一个没有空单元格的新 Data Frame:
import pandas as pd
df = pd.read_csv('data.csv')
new_df = df.dropna()
print(new_df.to_string())
注意:默认情况下,dropna() 方法会返回新的 DataFrame,并且不会更改原始 DataFrame。
如果您想更改原始 DataFrame,请使用 inplace = True 参数:
删除所有包含 NULL 值的行:
import pandas as pd
df = pd.read_csv('data.csv')
df.dropna(inplace = True)
print(df.to_string())
注意:现在,dropna(inplace = True) 不会返回一个新的 DataFrame,但它会从原始 DataFrame 中删除所有包含 NULL 值的行。
处理空单元格的另一种方法是插入一个新值。
这样,您就不必仅仅因为一些空单元格而删除整行。
fillna() 方法允许我们用某个值替换空单元格:
用数字 130 替换 NULL 值:
import pandas as pd
df = pd.read_csv('data.csv')
df.fillna(130, inplace = True)
上面的例子替换了整个 Data Frame 中的所有空单元格。
要仅替换一列中的空值,请为 DataFrame 指定列名:
在 "Calories" 列中用数字 130 替换 NULL 值:
import pandas as pd
df = pd.read_csv('data.csv')
df["Calories"].fillna(130, inplace = True)
替换空单元格的常见方法是计算列的平均值、中值或众数。
Pandas 使用 mean()、median() 和 mode() 方法来计算指定列的相应值:
计算平均值(MEAN),并用它替换任何空值:
import pandas as pd
df = pd.read_csv('data.csv')
x = df["Calories"].mean()
df["Calories"].fillna(x, inplace = True)
平均值 = 所有值的总和除以值的数量。
计算中位数(MEDIAN),并用它替换任何空值:
import pandas as pd
df = pd.read_csv('data.csv')
x = df["Calories"].median()
df["Calories"].fillna(x, inplace = True)
中位数 = 将所有值升序排序后位于中间的值。
计算众数(MODE),并用它替换任何空值:
import pandas as pd
df = pd.read_csv('data.csv')
x = df["Calories"].mode()[0]
df["Calories"].fillna(x, inplace = True)
众数 = 出现频率最高的值。
相关
视频
RELATED VIDEOS
科技资讯
1
2
3
4
5
6
7
8
9
精选课程
共5课时
17.2万人学习
共49课时
77万人学习
共29课时
61.7万人学习
共25课时
39.3万人学习
共43课时
70.9万人学习
共25课时
61.6万人学习
共22课时
23万人学习
共28课时
33.9万人学习
共89课时
125万人学习