Pandas教程( 五 )


布尔索引:ilocdata.iloc[, ]按数字选择行和列
a) 选择数据集的第4行 。
data.iloc[3]
Pandas教程文章插图
b) 从所有列中选择一个行数组 。
data.iloc[6:12]
Pandas教程文章插图
c) 从所有列中选择几行 。
data.iloc[[7,28,39],:]
Pandas教程文章插图
d) 从“Name”、“Age”、“Sex”和“Survived”列中选择一行 。
data.iloc[[7], [3,5,4,1]]
Pandas教程文章插图
e) 从多个列中选择多行 。
data.iloc[[7,28,39], [3,5,4,1]]
Pandas教程文章插图
f) 选择多行形成列序列 。
data.iloc[[7,28,39], 3:10]
Pandas教程文章插图
g) 选择其他值 。

  • 从第6行到第12行 , 最后一列 。
data.iloc[6:13, -1]
  • 第3列和第6列的所有行 。
data.iloc[:, [3,6]]
  • 7、28、39行 , 从第3列到第6列 。
data.iloc[[7,28,39], 3:7]
  • 最后一列的最后20行 。
data.iloc[-20:, -1:]基本处理数据
  • Axis = 0 , 表示行 , 如果未指定 , 默认为Axis=0 。
  • Axis = 1 , 表示列 。

Pandas教程文章插图
a) (删除nan值) 。
data.isnull().values.any()是否有丢失的数据?
True如果没有将其分配到(新)变量中 , 则应该指定inplace=True , 以便更改能生效 。
data.dropna(axis=0, inplace=True) #从行中删除nandata.isnull().values.any() #是否有丢失的数据?Falseb) 删除列
data.drop(columns=['PassengerId', 'Name'], axis=1).head()
Pandas教程文章插图
c) value_counts也可以显示NaN值 。
data.Age.value_counts(dropna=False)NaN17724.003022.002718.002628.0025... 36.50155.50166.00123.5010.421Name: Age, Length: 89, dtype: int64d) 替换丢失值
  • 创建新的数据帧 , 复制数据 , 以保持原始数据的完整性 。
new_df = data.copy()计算年龄平均值:
new_df.Age.mean()29.69911764705882
  • 用数据的平均值填充NAN , 并将结果分配给一个新列 。
new_df['Age_mean'] = new_df.Age.fillna(new_df.Age.mean())年龄的中值
new_df.Age.median()28.0用数据的中值填充任意NAN , 并将结果分配给一个新列 。
new_df['Age_median'] = new_df.Age.fillna(new_df.Age.median())