import pandas as pd
pd.set_option('max_rows', 5)
import numpy as np
reviews = pd.read_csv("./winemag-data-130k-v2.csv", index_col=0)
pandas提供一些summary function,可以帮助我们重组资料
例如describe()
reviews.points.describe()
count 129971.000000
mean 88.447138
...
75% 91.000000
max 100.000000
Name: points, Length: 8, dtype: float64
以上是会得到得依些summary资料
若是将 类别属性 的资料丢入,会得到什麽东西?
reviews.taster_name.describe()
count 103727
unique 19
top Roger Voss
freq 25514
Name: taster_name, dtype: object
若只想取得特定的summary资料,可以单独下指令
reviews.points.mean()
88.44713820775404
类别属性的资料想要知道有哪些类别,可以利用unique()
function
reviews.taster_name.unique()
array(['Kerin O’Keefe', 'Roger Voss', 'Paul Gregutt',
'Alexander Peartree', 'Michael Schachner', 'Anna Lee C. Iijima',
'Virginie Boone', 'Matt Kettmann', nan, 'Sean P. Sullivan',
'Jim Gordon', 'Joe Czerwinski', 'Anne Krebiehl\xa0MW',
'Lauren Buzzeo', 'Mike DeSimone', 'Jeff Jenssen',
'Susan Kostrzewa', 'Carrie Dykes', 'Fiona Adams',
'Christina Pickard'], dtype=object)
若想知道每一个unique的资料在data中出现几次,可以使用value_counts()
function
这是一个function可以把资料从另一个set中拿出来并且做运算
review_points_mean = reviews.points.mean()
reviews.points.map(lambda p: p - review_points_mean)
0 -1.447138
1 -1.447138
...
129969 1.552862
129970 1.552862
Name: points, Length: 129971, dtype: float64
先将points的mean储存在review_points_mean
在用lambda将point的值取出来到p,把p-review_points_mean的值储存进Series中
若想将资料直接储存进reviews,可以使用apply
function
def remean_points(row):
row.points = row.points - review_points_mean
return row
reviews.apply(remean_points, axis='columns')
.dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
apply
预设axis=0 or axis='index'
,也就是每次都会将column拿出来处理
若是想修改每一列的资料,要使用axis=1 or axis='columns'
map()
是回传一个Series,apply()
是回传一个DataFrame
但这两者都不会直接修改到原始的数据资料
reviews.head(1)
.dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
有一些内建的方法,可以比map()
跟apply()
的效率更高
但是这些方法并没有上面的这两个function来的灵活
review_points_mean = reviews.points.mean()
reviews.points - review_points_mean
0 -1.447138
1 -1.447138
...
129969 1.552862
129970 1.552862
Name: points, Length: 129971, dtype: float64
reviews.country + " - " + reviews.region_1
0 Italy - Etna
1 NaN
...
129969 France - Alsace
129970 France - Alsace
Length: 129971, dtype: object
<<: Day28 - 轻前端 Component - 多个 jQuery UI Selectmenu 连动
>>: EP16 - 用生活化的例子解释容器,是否搞错了些什麽
Day 27 Filebeat with multiple module and ELK Dashb...
模型训练完成後,除了使用Vertex的一键部署,若想要自行部署或在自己电脑上使用该怎麽做呢? 跟大家...
档案总管右半边Delphi TListView 延续上一篇 想要写一个”档案总管”的想法,今天先来完...
到底什麽式Vue directives Vue directives简单来说就是一种可以挂在HTML...
现在有了 LOGO 也有了 APP 专案,我们就可以先把 APP 的 icon 放到我们的 APP ...