pandas 面试题挑战十

作者: 人工智能人话翻译官 | 来源:发表于2019-05-31 19:45 被阅读47次

查询df中指定行与列的数据

现有数据如下:

df = pd.read_csv('https://raw.githubusercontent.com/selva86/datasets/master/Cars93_miss.csv')

查询最贵的价格,解决方式如下:

np.max(df.Price)

输出

61.9

查询最贵价格的车,相关的'Manufacturer', 'Model', 'Type'信息
解决方式如下:

df.loc[df.Price == np.max(df.Price), ['Manufacturer', 'Model', 'Type']]
#这种方式得到的是DataFrame

输出


image.png

重点解读:
df.Price == np.max(df.Price) 会返回一个布尔型的Series
df.loc[df.Price == np.max(df.Price)]会根据布尔型的Series返回DF中的指定行,也就是Series中值为True的行。
类似👇


image.png

也可以这样解决:

df.loc[row[0], ['Manufacturer', 'Model', 'Type']]
#这种方式得到的是一个Series
image.png

导入csv数据,并对列名进行更改

现有数据如下:

df = pd.read_csv('https://raw.githubusercontent.com/selva86/datasets/master/Cars93_miss.csv')

把Type列改名为'CarType',并把名称中“.”替换成“_”
解决方法如下:

df.columns.values[2] = "CarType"
#因为“type”在索引为2的列
df.columns = df.columns.map(lambda x: x.replace('.', '_'))
print(df.columns)

输出

Index(['Manufacturer', 'Model', 'CarType', 'Min_Price', 'Price', 'Max_Price',
       'MPG_city', 'MPG_highway', 'AirBags', 'DriveTrain', 'Cylinders',
       'EngineSize', 'Horsepower', 'RPM', 'Rev_per_mile', 'Man_trans_avail',
       'Fuel_tank_capacity', 'Passengers', 'Length', 'Wheelbase', 'Width',
       'Turn_circle', 'Rear_seat_room', 'Luggage_room', 'Weight', 'Origin',
       'Make'],
      dtype='object')

查询df中的null值

现有数据如下:

df = pd.read_csv('https://raw.githubusercontent.com/selva86/datasets/master/Cars93_miss.csv')

查询df中是否包含null值,只要有null值就返回True
解决如下:

df.isnull().values.any()

输出

True

重点解读
df.isnull() 得到👇这样的df


image.png

每个元素会根据是否为null返回True,False

df.isnull().values会把df中的元素快速转换为array就是👇这个样子


image.png

最后使用array的any方法,只要有一个True,值就位真。

统计df数据中每行包含的null值,并找出包含最多null值的行

现有数据如下:

df = pd.read_csv('https://raw.githubusercontent.com/selva86/datasets/master/Cars93_miss.csv')

统计df数据中每行包含的null值,并找出包含最多null值的行

n_missings_each_col = df.apply(lambda x: x.isnull().sum())
n_missings_each_col.idxmax(), n_missings_each_col.max()

输出

('Luggage.room', 19)

相关文章

  • pandas 面试题挑战十

    查询df中指定行与列的数据 现有数据如下: 查询最贵的价格,解决方式如下: 输出 查询最贵价格的车,相关的'Man...

  • pandas 面试题挑战一

    1 查看pandas的版本 解决办法 结果如下 2 如何通过list,numpy array, dict创建ser...

  • pandas 面试题挑战五

    计算两个Series之间的均方误差 现有两个Series如下: 计算两个Series之间的均方误差解决办法: 输出...

  • pandas 面试题挑战四

    13 如何把一个 numpy array 转换成规定形状的 dataframe 现有Series如下 要求转化为7...

  • pandas 面试题挑战六

    从Series的字符串中过滤出email地址 现有Series如下: 解决办法: 结果如下: 重点解读:这题的重点...

  • pandas 面试题挑战九

    按要求导入csv数据,每隔50行数据取一条合并成新的df 输出 重点解读:pd.read_csv中最重要的是chu...

  • pandas 面试题挑战二

    6 取出Series 1中独有的数据 现有两个Series, ser1和ser2 如下: 取出在ser1中出现,但...

  • pandas 面试题挑战七

    按照指定要求前向填充元素(ffill forward fill) 构建数据如下: 输出 分别使用前一行/前一列数据...

  • pandas 面试题挑战八

    求两个Series的相关性 现有两个Series如下: 求两个Series的皮尔逊系数 解决方法就是把Series...

  • pandas 面试题挑战十二

    DataFrame中的apply方法,applymap方法有什么区别 DataFrame中的apply方法 输出 ...

网友评论

    本文标题:pandas 面试题挑战十

    本文链接:https://www.haomeiwen.com/subject/dbggtctx.html