Numbers(數(shù)字型):
成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的旺蒼網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
即我們常說的1,2,3等等這些數(shù)字,Python有兩個常見的數(shù)據(jù)類型轉(zhuǎn)化函數(shù):int和float,一般數(shù)據(jù)類型可以用來做一些算術(shù)功能,如加減乘除乘方等等,還可以用作比較功能,一般返回的是true和false,也就是大于、等于、小于、小于等于諸如此類的有很多,這里就不一一解釋了。
String(字符串):
字符串是Python中比較常見的數(shù)據(jù)類型之一,能夠使用str函數(shù)將其他類型的數(shù)據(jù)強制轉(zhuǎn)換為字符串類型,有三種生成方法,即單引號'XXX',雙引號"XXX",三引號'''XXX
''',其中三引號一般用于字符串內(nèi)容較長的時候。
List(列表):
列表可以說是Python中最為活躍的一個數(shù)據(jù)類型,使用也很頻繁,操作也很多,可以通過list函數(shù)或方括號[]進(jìn)行列表的創(chuàng)建。常見函數(shù)如求長度,用len,合并多個列表用+,列表元素重復(fù)*等等。
Tuple(元組):
元組可以看成是一種不可修改的特殊列表,可以通過小括號()或者tuple函數(shù)來創(chuàng)建,即便是只有一個元素,元組中的元素最后也要有逗號。常見操作有求長度len,元組元素重復(fù)*,元組拼接+,查看最值max、min等。
Dictionary(字典):字符串、列表、元組都是有序的數(shù)據(jù)類型,字典是無序的數(shù)據(jù)類型,主要是用來存放具有一定映射關(guān)系的數(shù)據(jù)??梢酝ㄟ^兩種方法創(chuàng)建,1、{}2、dict函數(shù)創(chuàng)建。
set(集合):
集合不能有重復(fù)元素,可以看作是列表和字典的“雜合體”,可以通過三種方式創(chuàng)建,1、set函數(shù),空集合只能用這種方法;2、{}創(chuàng)建,3、創(chuàng)建凍集合,frozenst。
做數(shù)據(jù)分析,首先你要知道有哪些數(shù)據(jù)分析的方法,然后才是用Python去調(diào)用這些方法
那Python有哪些庫類是能做數(shù)據(jù)分析的,很多,pandas,sklearn等等
所以你首先要裝一個anaconda套件,它包含了幾乎所有的Python數(shù)據(jù)分析工具,
之后再學(xué)怎么分析。
在python中的數(shù)據(jù)類型轉(zhuǎn)換函數(shù)共有五類:
1.float(x) 將x轉(zhuǎn)換為一個浮點數(shù),x如果是一個字符串, 必須是數(shù)字類型的字符串
2.int(x) 將x轉(zhuǎn)換為一個整數(shù), x如果是一個字符串,必須是數(shù)字類型的字符串
3.str(x) 把x轉(zhuǎn)換為字符串類型, 任意數(shù)據(jù)類型都可以轉(zhuǎn)換為字符串
4.list(x) 把序列數(shù)據(jù)x轉(zhuǎn)為列表(注意:字典沒有順序,不是序列數(shù)據(jù))
5.tuple(x) 把序列數(shù)據(jù)x轉(zhuǎn)為元組(字典沒有順序,不是序列數(shù)據(jù))
你可以多去黑馬程序員視頻庫看看,里面這樣的知識點特別多
前言分組原理
核心:
1.不論分組鍵是數(shù)組、列表、字典、Series、函數(shù),只要其與待分組變量的軸長度一致都可以傳入groupby進(jìn)行分組。
2.默認(rèn)axis=0按行分組,可指定axis=1對列分組。
對數(shù)據(jù)進(jìn)行分組操作的過程可以概括為:split-apply-combine三步:
1.按照鍵值(key)或者分組變量將數(shù)據(jù)分組。
2.對于每組應(yīng)用我們的函數(shù),這一步非常靈活,可以是python自帶函數(shù),可以是我們自己編寫的函數(shù)。
3.將函數(shù)計算后的結(jié)果聚合。
1 分組模式及其對象
1.1 分組的一般模式
三個要素:分組依據(jù)、數(shù)據(jù)來源、操作及其返回結(jié)果
df.groupby(分組依據(jù))[數(shù)據(jù)來源].使用操作
1.2 分組依據(jù)的本質(zhì)
1.3Groupby 對象
通過 ngroups 屬性,可以訪問分為了多少組:
通過 groups 屬性,可以返回從 組名映射到 組索引列表的字典:
當(dāng) size 作為 DataFrame 的屬性時,返回的是表長乘以表寬的大小,但在 groupby 對象上表示統(tǒng)計每個組的 元素個數(shù):
通過 get_group 方法可以直接獲取所在組對應(yīng)的行,此時必須知道組的具體名字:
1.4 分組的三大操作
分組的三大操作:聚合、變換和過濾
2.聚合函數(shù)
2.1內(nèi)置聚合函數(shù)
包括如下函數(shù): max/min/mean/median/count/all/any/idxmax/idxmin/mad/nunique/skew/quantile/sum/std/var/sem/size/prod
2.2agg 方法
【a】使用多個函數(shù)
當(dāng)使用多個聚合函數(shù)時,需要用列表的形式把內(nèi)置聚合函數(shù)的對應(yīng)的字符串傳入,先前提到的所有字符串都是合法的。
【b】對特定的列使用特定的聚合函數(shù)
對于方法和列的特殊對應(yīng),可以通過構(gòu)造字典傳入 agg 中實現(xiàn),其中字典以列名為鍵,以聚合字符串或字符串列表為值。
【c】使用自定義函數(shù)
在 agg 中可以使用具體的自定義函數(shù),需要注意傳入函數(shù)的參數(shù)是之前數(shù)據(jù)源中的列,逐列進(jìn)行計算
【d】聚合結(jié)果重命名 如果想要對結(jié)果進(jìn)行重命名,只需要將上述函數(shù)的位置改寫成元組,元組的第一個元素為新的名字,第二個位置為原來的函數(shù),包括聚合字符串和自定義函數(shù)
3 變換和過濾
3.1 變換函數(shù)與 transform 方法
變 換 函 數(shù) 的 返 回 值 為 同 長 度 的 序 列, 最 常 用 的 內(nèi) 置 變 換 函 數(shù) 是 累 計 函 數(shù):cum- count/cumsum/cumprod/cummax/cummin ,它們的使用方式和聚合函數(shù)類似,只不過完成的是組內(nèi) 累計操作。
3.2 組索引與過濾
過濾在分組中是對于組的過濾,而索引是對于行的過濾
組過濾作為行過濾的推廣,指的是如果對一個組的全體所在行進(jìn)行統(tǒng)計的結(jié)果返回 True 則會被保留,F(xiàn)alse 則該組會被過濾,最后把所有未被過濾的組其對應(yīng)的所在行拼接起來作為 DataFrame 返回。
在 groupby 對象中,定義了 filter 方法進(jìn)行組的篩選,其中自定義函數(shù)的輸入?yún)?shù)為數(shù)據(jù)源構(gòu)成的 DataFrame 本身,在之前例子中定義的 groupby 對象中,傳入的就是 df[['Height', 'Weight']] ,因此所有表方法和屬性 都可以在自定義函數(shù)中相應(yīng)地使用,同時只需保證自定義函數(shù)的返回為布爾值即可。
4 跨列分組
4.1 apply 的引入
4.2 apply 的使用
在設(shè)計上,apply 的自定義函數(shù)傳入?yún)?shù)與 filter 完全一致,只不過后者只允許返回布爾值
【a】標(biāo)量情況:結(jié)果得到的是 Series ,索引與 agg 的結(jié)果一致
【b】Series 情況:得到的是 DataFrame ,行索引與標(biāo)量情況一致,列索引為 Series 的索引
【c】DataFrame 情況:得到的是 DataFrame ,行索引最內(nèi)層在每個組原先 agg 的結(jié)果索引上,再加一層返 回的 DataFrame 行索引,同時分組結(jié)果 DataFrame 的列索引和返回的 DataFrame 列索引一致