pandas 面试题挑战九

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

按要求导入csv数据,每隔50行数据取一条合并成新的df

df = pd.read_csv('https://raw.githubusercontent.com/selva86/datasets/master/BostonHousing.csv', chunksize=50)

df2 = pd.DataFrame()
for chunk in df:
    df2 = df2.append(chunk.iloc[0,:])

df2

输出


image.png

重点解读:
pd.read_csv中最重要的是chunksize=50这个参数会把整个csv文件按照50行一个chunk分成多个chunk。
这样在for chunk in df执行循环的时候,每个chunk都能取到50行数据,chunk.iloc[0,:]可以让我们每次从拥有50行的chunk中拿到第一行,然后通过append添加到df2中,就得到了最后的结果。

导入csv中指定的列数据到df中

df = pd.read_csv('https://raw.githubusercontent.com/selva86/datasets/master/BostonHousing.csv', usecols=['crim', 'medv'])
print(df.head())

输出


image.png

查询df的相关信息

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

查询有多少行多少列

print(df.shape)

输出

(93, 27)

查询该df有多少类型

print(df.dtypes)

输出

Manufacturer           object
Model                  object
Type                   object
Min.Price             float64
Price                 float64
Max.Price             float64
MPG.city              float64
MPG.highway           float64
AirBags                object
DriveTrain             object
Cylinders              object
EngineSize            float64
Horsepower            float64
RPM                   float64
Rev.per.mile          float64
Man.trans.avail        object
Fuel.tank.capacity    float64
Passengers            float64
Length                float64
Wheelbase             float64
Width                 float64
Turn.circle           float64
Rear.seat.room        float64
Luggage.room          float64
Weight                float64
Origin                 object
Make                   object
dtype: object

查询每种类型的数据统计

print(df.dtypes.value_counts())

输出

float64    18
object      9
dtype: int64

获取该df的统计信息

df_stats = df.describe()
df_stats
image.png

把df的value快速转换为array

df_arr = df.values
df_arr

输出


image.png

把df的value快速转换为list

df_list = df.values.tolist()
df_list

输出👇这种列表,就是列表套列表

[['Acura',
  'Integra',
  'Small',
  12.9,
  15.9,
  18.8,
  25.0,
  31.0,
  'None',
  'Front',
  '4',
  1.8,
  140.0,
  6300.0,
  2890.0,
  'Yes',
  13.2,
  5.0,
  177.0,
  102.0,
  68.0,
  37.0,
  26.5,
  nan,
  2705.0,
  'non-USA',
  'Acura Integra'], .... ]]

相关文章

  • pandas 面试题挑战九

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

  • 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 面试题挑战十

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

  • 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/kixitctx.html