pandas主要数据结构:

  • DataFrame 一个关系数据表格,包含多个行和已命名的列
  • Series 单一列,DataFrame中包含一个或多个Series,每个series均有一个名称。

下面示例展示了如何创建Series及DataFrame

import pandas as pd
print(pd.__version__)
#创建Series对象
city_name = pd.Series(['Sanfrancisco', 'Sanjose', 'Sacramento'])
city_population = pd.Series([852469, 1015785, 485199])
city = pd.DataFrame({'city name' : city_name, 'population' : city_population})
#将映射string列名称的dict传递给各自的Series,从而创建DataFrame
#如果Series在长度上不一致,系统则会用特殊的NA/NaN值填充缺失的值
print(city)
print(city['city name'][1])
#根据常用的dict/list指令访问DataFrame数据
print(city[0:2])
#切片
c = city_population / 1000
print(c)
#应用基本指令运算
city = city.reindex([2,0,1])
print(city)
#以手动重新排列各行的顺序
city.apply(lamba val: val>10000)
调用apply函数,该函数是pandas里自由度最高的函数,其参数类似于c++的函数指针,需自己实现,遍历整个dataframe,并将所有结果组合起来返回

输出结果

0.24.2city name  population
0  Sanfrancisco      852469
1       Sanjose     1015785
2    Sacramento      485199

读取整个csv文件,并将其加载到DataFrame中

import pandas as pdcalifornia_housing_dataframe = pd.read_csv("https://download.mlcc.google.cn/mledu-datasets/california_housing_train.csv", sep=",")
print(california_housing_dataframe.describe())
#显示一些统计信息
print(california_housing_dataframe.head())
#显示该DataFrame的前几个记录
california_housing_dataframe.hist('housing_median_age')
#画出某一列中的值的分布直方图

读取csv文件

import pandas as pd
new = pd.read_csv('city.csv')//csv文件名称
print(new)

利用web api进行获取数据

import requests
import json
import pandas as pd
import numpy as np
url = 'https://api.seniverse.com/v3/weather/now.json?key=kutzoofe5f2h1w
yc&location=zibo&language=zh-Hans&unit=c'
r = requests.get(url)
print(r.text)#返回为json格式,需对其进行处理

数据准备

(预处理)过程中常常需要进行数据的处理,例如数据清洗包括缺失值和异常值处理,数据变换如规范化数据,数据规约如属性规约(选择部分有代表性的属性)等,在Python有很多进行数据预处理的快速方法,以数据清洗中的缺失值处理为例,在实际过程中常常会发现有的数据是缺失(NaN)的,这些值是需要特别处理的。缺失值的判断可利用numpy中的isnan()函数,而对于Series或DataFrame,缺失值的判断和处理非常的方便,例如df.dropna()可以删掉含NaN(NA)的行,df.dropna(how='all')只丢弃全为NaN的那些行,也可以进行值的插补,例如用0、均值、中位数或众数等进行填充插补,也可用插值法即基于已知点建立插值函数f(x),通过xi求得f(xi)来近似替代,常用方法有拉格朗日插值法和牛顿插值法NaN。以常用的简单填充为例,可用df.fillna(某一个值)方式用某一个值如0或平均值等代替NaN(例如df.fillna(0)表示用0代替NaN),也可用其method参数指定缺失值的填充方向,例如:

>>> fruit_df = pd.Series(['apple', 'orange', 'pear'], index=[0, 2, 5])
>>> fruit_df = fruit_df.reindex(range(7))
>>> fruit_df
0     apple
1       NaN
2    orange
3       NaN
4       NaN
5      pear
6       NaN
dtype: object
# inplace参数设为True表示直接修改原对象fruit_df,否则将填充后的结果返回,原对象不变
>>> fruit_df.fillna(method='ffill', inplace = True)
>>> print(fruit_df)
0     apple
1     apple
2    orange
3    orange
4    orange
5      pear
6      pear
dtype: object

ffill表示用前一个非缺失值代替NaN填充,而bfill表示用下一个非缺失数据代替NaN填充,要根据数据的特点选择不同的填充方式,如果选择错误结果可能会不能正确填充,请选择如下填充方式的结果。

>>> import pandas as pd
>>> fruit_df = pd.Series(['apple', 'orange', 'pear'], index=[0, 2, 5])
>>> fruit_df = fruit_df.reindex(range(7))
>>> fruit_df.fillna(method='bfill', inplace = True)
>>> print(fruit_df)
0     apple
1    orange
2    orange
3      pear
4      pear
5      pear
6       NaN
dtype: object

时间戳timestamp

>>> from datetime import date
>>> firstday = date.fromtimestamp(1464010200)
>>> lastday = date.fromtimestamp(1495200600)#转换为正常日期
>>> firstday
datetime.date(2016, 5, 23)
>>> lastday
datetime.date(2017, 5, 19)
>>> x = date.strftime(firstday,'%Y-%m-%d')#转为固定格式
>>> x
'2016-05-23'
>>> import time
>>> temp=time.strptime('2015-05-31',"%Y-%m-%d")#格式化为time对象
>>> temp
time.struct_time(tm_year=2015, tm_mon=5, tm_mday=31, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=6, tm_yday=151, tm_isdst=-1)
>>> type(temp)
<class 'time.struct_time'>

创建时间序列

>>> import pandas as pd
>>> data = pd.date_range('20190228',periods=2)#periods代表生成长度为多少的序列
>>> data
DatetimeIndex(['2019-02-28', '2019-03-01'], dtype='datetime64[ns]', freq='D')

DataFrame的数据显示

>>> import pandas as pd
>>> data = pd.read_csv('city.csv')
>>> dataCode      国家和地区名                            国家和地区名(英文) 国家和地区名(繁体)   大洲
0     AD         安道尔                               Andorra        安道爾   欧洲
1     AE         阿联酋                  United Arab Emirates         阿聯   亚洲
2     AF         阿富汗                           Afghanistan        阿富汗   亚洲
3     AG     安提瓜和巴布达                   Antigua and Barbuda    安地卡及巴布達  北美洲
4     AI         安圭拉                              Anguilla      英屬安圭拉  北美洲
5     AL       阿尔巴尼亚                               Albania      阿爾巴尼亞   欧洲
6     AM        亚美尼亚                               Armenia       亞美尼亞   亚洲
7     AO         安哥拉                                Angola        安哥拉   非洲
8     AQ         南极洲                            Antarctica        南極洲  南极洲
9     AR         阿根廷                             Argentina        阿根廷  南美洲
10    AS       美属萨摩亚                        American Samoa      美屬薩摩亞  大洋洲
11    AT         奥地利                               Austria        奧地利   欧洲
12    AU        澳大利亚                             Australia         澳洲  大洋洲
13    AW         阿鲁巴                                 Aruba        阿魯巴  北美洲
14    AX        奥兰群岛                        Åaland Islands       奧蘭群島   欧洲
15    AZ        阿塞拜疆                            Azerbaijan       亞塞拜然   亚洲
16    BA          波黑                Bosnia and Herzegovina         波赫   欧洲
17    BB        巴巴多斯                              Barbados        巴貝多  北美洲
18    BD        孟加拉国                            Bangladesh        孟加拉   亚洲
19    BE         比利时                               Belgium        比利時   欧洲
20    BF       布基纳法索                          Burkina Faso      布吉納法索   非洲
21    BG        保加利亚                              Bulgaria       保加利亞   欧洲
22    BH          巴林                               Bahrain         巴林   亚洲
23    BI         布隆迪                               Burundi        蒲隆地   非洲
24    BJ          贝宁                                 Benin         貝南   非洲
25    BL      圣巴泰勒米岛                      Saint Barthélemy       聖巴瑟米  北美洲
26    BM         百慕大                               Bermuda        百慕達  北美洲
27    BN          文莱                     Brunei Darussalam         汶萊   亚洲
28    BO        玻利维亚                Bolivia, Plurinational       玻利維亞  南美洲
29    BQ      荷兰加勒比区      Bonaire, Sint Eustatius and Saba     荷蘭加勒比區  北美洲
..   ...         ...                                   ...        ...  ...
221   TL         东帝汶                           Timor-Leste        東帝汶  大洋洲
222   TM       土库曼斯坦                          Turkmenistan        土庫曼   亚洲
223   TN         突尼斯                               Tunisia       突尼西亞   非洲
224   TO          汤加                                 Tonga         東加  大洋洲
225   TR         土耳其                                Turkey        土耳其   亚洲
226   TT    特立尼达和多巴哥                   Trinidad and Tobago   特立尼達和多巴哥  北美洲
227   TV         图瓦卢                                Tuvalu        吐瓦魯  大洋洲
228   TW        中国台湾             Taiwan, Province of China       中國台灣   亚洲
229   TZ        坦桑尼亚          Tanzania, United Republic of       坦尚尼亞   非洲
230   UA         乌克兰                               Ukraine        烏克蘭   欧洲
231   UG         乌干达                                Uganda        烏干達   非洲
232   UM    美国本土���小岛屿  United States Minor Outlying Islands     美國邊疆小島  大洋洲
233   US          美国                         United States         美國  北美洲
234   UY         乌拉圭                               Uruguay        烏拉圭  南美洲
235   UZ      乌兹别克斯坦                            Uzbekistan       烏茲別克   亚洲
236   VA         梵蒂冈         Holy See (Vatican City State)        梵蒂岡   欧洲
237   VC  圣文森特和格林纳丁斯      Saint Vincent and the Grenadines   聖文森及格瑞那丁  北美洲
238   VE        委内瑞拉     Venezuela, Bolivarian Republic of       委內瑞拉  南美洲
239   VG     英属维尔京群岛                  Virgin Islands, U.S.    英屬維爾京群島  北美洲
240   VI     美属维尔京群岛          United States Virgin Islands    美屬維爾京群島  北美洲
241   VN          越南                               Vietnam         越南   亚洲
242   VU        瓦努阿图                               Vanuatu        萬那杜  大洋洲
243   WF     瓦利斯和富图纳                     Wallis and Futuna   沃里斯與伏塔那島  大洋洲
244   WS         萨摩亚                                 Samoa        薩摩亞  大洋洲
245   XK         科索沃                                Kosovo        科索沃   欧洲
246   YE          也门                                 Yemen         葉門   亚洲
247   YT         马约特                               Mayotte        美亞特   非洲
248   ZA          南非                          South Africa         南非   非洲
249   ZM         赞比亚                                Zambia        尚比亞   非洲
250   ZW        津巴布韦                              Zimbabwe        辛巴威   非洲[251 rows x 5 columns]
>>> data.index
RangeIndex(start=0, stop=251, step=1)
>>> list(data.index)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250]
>>> list(data.columns)
['Code', '国家和地区名', '国家和地区名(英文)', '国家和地区名(繁体)', '大洲']
>>> data.values
array([['AD', '安道尔', 'Andorra', '安道爾', '欧洲'],['AE', '阿联酋', 'United Arab Emirates', '阿聯', '亚洲'],['AF', '阿富汗', 'Afghanistan', '阿富汗', '亚洲'],...,['ZA', '南非', 'South Africa', '南非', '非洲'],['ZM', '赞比亚', 'Zambia', '尚比亞', '非洲'],['ZW', '津巴布韦', 'Zimbabwe', '辛巴威', '非洲']], dtype=object)
>>> data.describe
<bound method NDFrame.describe of     Code      国家和地区名                            国家和地区名(英文) 国家和地区名(繁体)   大洲
0     AD         安道尔                               Andorra        安道爾   欧洲
1     AE         阿联酋                  United Arab Emirates         阿聯   亚洲
2     AF         阿富汗                           Afghanistan        阿富汗   亚洲
3     AG     安提瓜和巴布达                   Antigua and Barbuda    安地卡及巴布達  北美洲
4     AI         安圭拉                              Anguilla      英屬安圭拉  北美洲
5     AL       阿尔巴尼亚                               Albania      阿爾巴尼亞   欧洲
6     AM        亚美尼亚                               Armenia       亞美尼亞   亚洲
7     AO         安哥拉                                Angola        安哥拉   非洲
8     AQ         南极洲                            Antarctica        南極洲  南极洲
9     AR         阿根廷                             Argentina        阿根廷  南美洲
10    AS       美属萨摩亚                        American Samoa      美屬薩摩亞  大洋洲
11    AT         奥地利                               Austria        奧地利   欧洲
12    AU        澳大利亚                             Australia         澳洲  大洋洲
13    AW         阿鲁巴                                 Aruba        阿魯巴  北美洲
14    AX        奥兰群岛                        Åaland Islands       奧蘭群島   欧洲
15    AZ        阿塞拜疆                            Azerbaijan       亞塞拜然   亚洲
16    BA          波黑                Bosnia and Herzegovina         波赫   欧洲
17    BB        巴巴多斯                              Barbados        巴貝多  北美洲
18    BD        孟加拉国                            Bangladesh        孟加拉   亚洲
19    BE         比利时                               Belgium        比利時   欧洲
20    BF       布基纳法索                          Burkina Faso      布吉納法索   非洲
21    BG        保加利亚                              Bulgaria       保加利亞   欧洲
22    BH          巴林                               Bahrain         巴林   亚洲
23    BI         布隆迪                               Burundi        蒲隆地   非洲
24    BJ          贝宁                                 Benin         貝南   非洲
25    BL      圣巴泰勒米岛                      Saint Barthélemy       聖巴瑟米  北美洲
26    BM         百慕大                               Bermuda        百慕達  北美洲
27    BN          文莱                     Brunei Darussalam         汶萊   亚洲
28    BO        玻利维亚                Bolivia, Plurinational       玻利維亞  南美洲
29    BQ      荷兰加勒比区      Bonaire, Sint Eustatius and Saba     荷蘭加勒比區  北美洲
..   ...         ...                                   ...        ...  ...
221   TL         东帝汶                           Timor-Leste        東帝汶  大洋洲
222   TM       土库曼斯坦                          Turkmenistan        土庫曼   亚洲
223   TN         突尼斯                               Tunisia       突尼西亞   非洲
224   TO          汤加                                 Tonga         東加  大洋洲
225   TR         土耳其                                Turkey        土耳其   亚洲
226   TT    特立尼达和多巴哥                   Trinidad and Tobago   特立尼達和多巴哥  北美洲
227   TV         图瓦卢                                Tuvalu        吐瓦魯  大洋洲
228   TW        中国台湾             Taiwan, Province of China       中國台灣   亚洲
229   TZ        坦桑尼亚          Tanzania, United Republic of       坦尚尼亞   非洲
230   UA         乌克兰                               Ukraine        烏克蘭   欧洲
231   UG         乌干达                                Uganda        烏干達   非洲
232   UM    美国本土外小岛屿  United States Minor Outlying Islands     美國邊疆小島  大洋洲
233   US          美国                         United States         美國  北美洲
234   UY         乌拉圭                               Uruguay        烏拉圭  南美洲
235   UZ      乌兹别克斯坦                            Uzbekistan       烏茲別克   亚洲
236   VA         梵蒂冈         Holy See (Vatican City State)        梵蒂岡   欧洲
237   VC  圣文森特和格林纳丁斯      Saint Vincent and the Grenadines   聖文森及格瑞那丁  北美洲
238   VE        委内瑞拉     Venezuela, Bolivarian Republic of       委內瑞拉  南美洲
239   VG     英属维尔京群岛                  Virgin Islands, U.S.    英屬維爾京群島  北美洲
240   VI     美属维尔京群岛          United States Virgin Islands    美屬維爾京群島  北美洲
241   VN          越南                               Vietnam         越南   亚洲
242   VU        瓦努阿图                               Vanuatu        萬那杜  大洋洲
243   WF     瓦利斯和富图纳                     Wallis and Futuna   沃里斯與伏塔那島  大洋洲
244   WS         萨摩亚                                 Samoa        薩摩亞  大洋洲
245   XK         科索沃                                Kosovo        科索沃   欧洲
246   YE          也门                                 Yemen         葉門   亚洲
247   YT         马约特                               Mayotte        美亞特   非洲
248   ZA          南非                          South Africa         南非   非洲
249   ZM         赞比亚                                Zambia        尚比亞   非洲
250   ZW        津巴布韦                              Zimbabwe        辛巴威   非洲[251 rows x 5 columns]>
>>> data.head(5)#前五列Code   国家和地区名            国家和地区名(英文) 国家和地区名(繁体)   大洲
0   AD      安道尔               Andorra        安道爾   欧洲
1   AE      阿联酋  United Arab Emirates         阿聯   亚洲
2   AF      阿富汗           Afghanistan        阿富汗   亚洲
3   AG  安提瓜和巴布达   Antigua and Barbuda    安地卡及巴布達  北美洲
4   AI      安圭拉              Anguilla      英屬安圭拉  北美洲
>>> data.tail(5)#后五列Code 国家和地区名    国家和地区名(英文) 国家和地区名(繁体)  大洲
246   YE     也门         Yemen         葉門  亚洲
247   YT    马约特       Mayotte        美亞特  非洲
248   ZA     南非  South Africa         南非  非洲
249   ZM    赞比亚        Zambia        尚比亞  非洲
250   ZW   津巴布韦      Zimbabwe        辛巴威  非洲
>>> data.Code#某一列
0      AD
1      AE
2      AF
3      AG
4      AI
5      AL
6      AM
7      AO
8      AQ
9      AR
10     AS
11     AT
12     AU
13     AW
14     AX
15     AZ
16     BA
17     BB
18     BD
19     BE
20     BF
21     BG
22     BH
23     BI
24     BJ
25     BL
26     BM
27     BN
28     BO
29     BQ..
221    TL
222    TM
223    TN
224    TO
225    TR
226    TT
227    TV
228    TW
229    TZ
230    UA
231    UG
232    UM
233    US
234    UY
235    UZ
236    VA
237    VC
238    VE
239    VG
240    VI
241    VN
242    VU
243    WF
244    WS
245    XK
246    YE
247    YT
248    ZA
249    ZM
250    ZW
Name: Code, Length: 251, dtype: object
>>> data.size
1255
>>> data.shape
(251, 5)
>>> data[2:4]Code   国家和地区名           国家和地区名(英文) 国家和地区名(繁体)   大洲
2   AF      阿富汗          Afghanistan        阿富汗   亚洲
3   AG  安提瓜和巴布达  Antigua and Barbuda    安地卡及巴布達  北美洲
>>> data[2:4]#类似以索引切片Code   国家和地区名           国家和地区名(英文) 国家和地区名(繁体)   大洲
2   AF      阿富汗          Afghanistan        阿富汗   亚洲
3   AG  安提瓜和巴布达  Antigua and Barbuda    安地卡及巴布達  北美洲
>>> data.loc[0:5,]#0到5行所有列Code   国家和地区名            国家和地区名(英文) 国家和地区名(繁体)   大洲
0   AD      安道尔               Andorra        安道爾   欧洲
1   AE      阿联酋  United Arab Emirates         阿聯   亚洲
2   AF      阿富汗           Afghanistan        阿富汗   亚洲
3   AG  安提瓜和巴布达   Antigua and Barbuda    安地卡及巴布達  北美洲
4   AI      安圭拉              Anguilla      英屬安圭拉  北美洲
5   AL    阿尔巴尼亚               Albania      阿爾巴尼亞   欧洲
>>> data.loc[0:5,['Code','大洲']]0到5行,code列和大洲列Code   大洲
0   AD   欧洲
1   AE   亚洲
2   AF   亚洲
3   AG  北美洲
4   AI  北美洲
5   AL   欧洲
>>> data.at[1,'大洲']#选择一个值
'亚洲'
>>> data.iloc[1:6,[0,2]]#注意iloc和loc的区别Code            国家和地区名(英文)
1   AE  United Arab Emirates
2   AF           Afghanistan
3   AG   Antigua and Barbuda
4   AI              Anguilla
5   AL               Albania
>>> data.iloc[1:6,[0,2]]Code            国家和地区名(英文)
1   AE  United Arab Emirates
2   AF           Afghanistan
3   AG   Antigua and Barbuda
4   AI              Anguilla
5   AL               Albania
>>> data.iloc[1:6,[0,1]]Code   国家和地区名
1   AE      阿联酋
2   AF      阿富汗
3   AG  安提瓜和巴布达
4   AI      安圭拉
5   AL    阿尔巴尼亚
>>> data.iloc[1:6,0:2]Code   国家和地区名
1   AE      阿联酋
2   AF      阿富汗
3   AG  安提瓜和巴布达
4   AI      安圭拉
5   AL    阿尔巴尼亚
>>> data.iat[1,2]
'United Arab Emirates'
>>> data.ix[(data.index<5)&(data.大洲=='亚洲')]#条件判断Code 国家和地区名            国家和地区名(英文) 国家和地区名(繁体)  大洲
1   AE    阿联酋  United Arab Emirates         阿聯  亚洲
2   AF    阿富汗           Afghanistan        阿富汗  亚洲
>>> data[data.大洲=='亚洲'].Code#条件查找
1      AE
2      AF
6      AM
15     AZ
18     BD
22     BH
27     BN
32     BT
38     CC
47     CN
53     CX
78     GE
94     HK
100    ID
102    IL
104    IN
105    IO
106    IQ
107    IR
112    JO
113    JP
115    KG
116    KH
120    KP
121    KR
122    KW
124    KZ
125    LA
126    LB
129    LK
145    MM
146    MN
147    MO
154    MV
157    MY
165    NK
168    NP
172    OM
177    PH
178    PK
183    PS
187    QA
193    SA
198    SG
212    SY
218    TH
219    TJ
222    TM
225    TR
228    TW
235    UZ
241    VN
246    YE
Name: Code, dtype: object
>>>DataFrame.某一列.mean()#求平均值
>>> data['大洲'].value_counts()#计算大洲个数
非洲     58
亚洲     53
欧洲     53
北美洲    41
大洋洲    27
南美洲    14
南极洲     5
Name: 大洲, dtype: int64
>>> import numpy as np
np.>>> np.sign(5)#大于0返回1,小于0返回-1,等于0返回0
1
>>> np.sign(-0.25)
-1.0
>>> np.sign(0)
0
>>> np.array([1,2,3,4,5,6])
array([1, 2, 3, 4, 5, 6])
>>> x = np.array([1,2,3,4,5,6])
>>> np.diff(x)#返回后一元素与前一元素的差值
array([1, 1, 1, 1, 1])
>>> np.where(x>3)#两种调用方式
(array([3, 4, 5]),)
>>> np.where(x>3,1,0)
array([0, 0, 0, 1, 1, 1])
>>> DataFrame.sort_values(by='某一列',ascending=False)#针对某一列进行排序,False逆序True正序

有一个记录了爱吃苏式或广式月饼的用户DataFrame:

>>> mooncakes_dfname gender  age taste of mooncake
0      Liuzi      M   21   Cantonese-style
1    Huangqi      F   32          Su-style
2   Yuanyuan      F   35          Su-style
3      Duyue      F   14   Cantonese-style
4  Zhangtian      M   33   Cantonese-style
若要统计mooncakes_df中分别爱吃两种口味月饼的人数,可利用如下代码实现:>>> mooncakes_df.groupby("taste of mooncake").age.count()
taste of mooncake
Cantonese-style    3
Su-style           2
Name: age, dtype: int64

可见使用groupby()方法结合一些统计函数在做数据的分组统计时非常有用,另外,值得注意的是,groupby()还常常与apply()函数连用,apply()函数可将数据分拆、应用和汇总,使用自定义函数更灵活地进行各类数据统计。apply()函数的自由度很高,它的最基本形式为“DataFrame.apply(func, axis = 0)”,func是函数,可以自己实现,默认axis为0,表示apply()函数会自动遍历DataFrame的每一列数据(一个Series)按相应函数功能对其进行处理,处理结束后将所有结果组合后返回,若axis设为1则遍历处理DataFrame的每一行数据。例如前面的功能可通过如下代码实现:

def f(df):return df.age.count()
mooncakes_df.groupby('taste of mooncake').apply(f)

pandas入门与数据准备与简单筛选统计相关推荐

  1. pandas.DataFrame——pd数据框的简单认识、存csv文件

    接着前天的豆瓣书单信息爬取,这一篇文章看一下利用pandas完成对数据的存储. 回想一下我们当时在最后得到了六个列表:img_urls, titles, ratings, authors, detai ...

  2. python输入一组数据、进行简单的统计_《利用Python进行数据分析》学习笔记——第二章(3)...

    1880-2010年间全美婴儿姓名 用pandas.read_csv加载.txt文件 图2.1 用read_csv加载.txt文件 DataFrame.names1880中只有births这一列是in ...

  3. python数据分析df_Python数据分析pandas入门!(附数据分析资料)

    Python数据分析pandas入门!(附数据分析资料) 1.pandas数据结构之DataFrame+ 这是小编准备的python数据分析资料!进群:700341555即可获取! Python数据分 ...

  4. python《pandas入门》实现Excel数据字段的拆分

    ** python<pandas入门>实现Excel数据字段的拆分 ,简单说一下自己为什么写博客,主要原因如下: 1,先简单介绍下自己,我是药学本科毕业,工作几年了.在这几年里做过药物相关 ...

  5. Python入门题031:excel表格筛选重复数据

    题目: 使用 pandas 筛选表格中的重复数据,将筛选后的表格保存到新的 excel 文件中. 视频教程: Python入门题031:excel表格筛选重复数据 代码: import pandass ...

  6. pandas入门(6)——数据加载、存储与文件格式

    pandas入门(6)--数据加载.存储与文件格式 输入输出通常可以划分为几个大类:读取文本文件和其他更高效的磁盘存储格式,加载数据库中的数据,利用Web API操作网络资源 一.读取文本格式数据 函 ...

  7. pandas入门(六):数据清理

    在做数据分析时,在使用算法之前都需要对数据进行相应的处理,pandas 同样的自带了这个功能,里面的东西比较多,这里重点的介绍,数据重复和数据缺值. 数据重复 重复的数据在做数据处理的时候,会影响到数 ...

  8. pandas 排序 给excel_python 利用pandas处理excel数据(获取特定值,排序,筛选)

    这是06年的建模题目中的excel文件,我想这用python处理一下,只需要获取出版社代码为P115的数据,所以需要筛选. Paste_Image.png 1.首先我先选择我所需要的那八行数据 '出版 ...

  9. pandas使用query函数基于组合索引筛选dataframe的数据行(与and、或or、非not)

    pandas使用query函数基于组合索引筛选dataframe的数据行(与and.或or.非not) 目录 pandas使用query函数基于组合索引筛选dataframe的数据行(与and.或or ...

  10. pandas数据预处理(字段筛选、query函数进行数据筛选、缺失值删除)、seaborn可视化分面图(facet)、seaborn使用Catplot可视化分面箱图(Faceted Boxplot)

    pandas数据预处理(字段筛选.query函数进行数据筛选.缺失值删除).seaborn可视化分面图(facet).seaborn使用Catplot可视化分面箱图(Faceted Boxplot) ...

最新文章

  1. 读论文之《基于EV10AQ190的高速ADC接口设计》
  2. php 记事本源代码_php实现记事本案例
  3. LeetCode 2197. 替换数组中的非互质数(栈)
  4. MySQL表自动增长列插入数据
  5. SQL Server应用程序中的高级SQL注入
  6. Lapsus$ 组织攻击很多大厂都在合作的软件咨询公司 Globant
  7. 北京地铁票价查询系统 c++ Dijkstra算法
  8. 水印相机定位不准确怎么办_选好镜头 选好3D四轮定位仪
  9. 有了证件照大师 轻松在ps中做证件照
  10. jQuery上传插件uploadify中文文档
  11. 微信linux 下载文件夹,把Windows下微信文件夹复制到Deepin-WeChat目录以更新微信
  12. C++ Eigen库实现矩阵的CholeSky分解
  13. BZOJ3332:旧试题
  14. 网络信息安全:数字签名
  15. webSpider----request
  16. Python-分割PDF文件-如何自定义分割-按页数分割PDF-PyPDF2
  17. HTML5期末大作业:轮滑运动体育类人物介绍主题网站设计(12页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计
  18. 行云创新:车云一体化平台,实现软件定义汽车
  19. MATLAB对三阶魔方建模并进行旋转操作
  20. 名编辑电子杂志大师教程 | 隐藏不需要的功能按钮

热门文章

  1. 双系统linux grub rescue,WindowsUbuntu双系统一键Ghost,提示grub rescue的解决方法
  2. 6月3日 徒步虎跳峡——第一日
  3. Vite 中 npm run dev 报错 Error: spawn vue3-test2\node_modules\esbuild\esbuild.exe ENOENT
  4. Magento给Newsletter Subscribers添加状态选项(默认只有Not Activated,Subscribed,Unsubscribed,Unconfirmed)
  5. Kafka 消费者模块(三):rebalance的发送JoinGroupResult请求
  6. TI Simplelinke_CC13X0_SDK_2.10.00.36 (Error -241 @ 0x0)
  7. NW集成打包 自定义图标及注意事项
  8. Minecraft Mod开发环境搭建 | Minecraft 1.15.2 | Forge 31.1.0
  9. Pandas学习——分组
  10. hexo搭建博客文章目录分析