暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

Pandas 100道练习题(一)

大码怪 2020-09-28
1376

Pandas 100道练习题(一)

经过前面愉快(枯燥🥱)的接口学习,现在让我们来放松一下,轻轻松松的小试牛刀一把。

Importing pandas

难度:超级easy

  1. 导入pandas库
import pandas as pd

  1. 打印pandas版本信息
pd.__version__

  1. 打印pandas依赖包及其版本信息
pd.show_versions()

DataFrame basics

难度:easy

  1. 创建一个DataFrame(df),用data
    做数据,labels
    做行索引
import numpy as np
data = {'animal': ['cat''cat''snake''dog''dog''cat''snake''cat''dog''dog'],
      'age': [2.530.5, np.nan, 524.5, np.nan, 73],
      'visits': [1323231121],
      'priority': ['yes''yes''no''yes''no''no''no''yes''no''no']}
labels = ['a''b''c''d''e''f''g''h''i''j']

df = pd.DataFrame(data=data, index=labels)

  1. 显示有关此df及其数据的基本信息的摘要
df.describe()
# 或
df.info()

  1. 查看此df的前三行数据
df.head(3)

  1. 选择df中列标签为animal
    age
    的数据
df.loc[:, ['animal''age']]

  1. 选择行为[3, 4, 8]
    ,且列为['animal', 'age']
    中的数据
df.iloc[[348]].loc[:, ['animal''age']]
# 或
df.loc[df.index[[348]], ['animal''age']]

  1. 选择visuts
    大于3的行
df[df['visits']>3]

  1. 选择age
    为缺失值的行
df[df['age'].isnull()]

  1. 选择animal
    为cat,且age
    小于3的行
df[(df['animal']=='cat') & (df['age']<3)]

  1. 选择age
    在2到4之间的数据(包含边界值)
df[df['age'].between(24, inclusive=True)]

  1. 将f行的age
    改为1.5
df.loc['f''age']=1.5

  1. 计算visits
    列的数据总和
df['visits'].sum()

  1. 计算每种animal
    的平均age
df.groupby('animal')['age'].mean()

  1. 追加一行(k),列的数据自定义,然后再删除新追加的k行
df.loc['k'] = df.loc['a'].values
df.drop('k', inplace=True)

  1. 计算每种animal
    的个数(cat有几个,dog几个...)
df.groupby('animal').size()
# 或
df['animal'].value_counts()

  1. 先根据age
    降序排列,再根据visits
    升序排列
df.sort_values(by=['age''visits'], ascending=[FalseTrue])

  1. priority
    列的yes和no用True和False替换
df['priority'] = df['priority'].replace(to_replace=['yes''no'], value=[TrueFalse])
# 也可以用map方法
df['priority'] = df['priority'].map({'yes'True'no'False})

  1. animal
    列的snake用python替换
df['animal'] = df['animal'].replace(to_replace='snake', value='python')

  1. 对于每种动物类型和每种访问次数,求出平均年龄。换句话说,每一行都是动物,每一列都是访问次数,其值是平均年龄(提示:使用数据透视表)
df.pivot_table(index='animal', columns='visits', values='age', aggfunc='mean')

不积跬步,无以至千里,不积小流,无以成江海



文章转载自大码怪,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论