pandas 面试题挑战九

按要求导入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'], .... ]]
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容