pandas 數(shù)據(jù)分析

最近稍微研究了一下pandas如何做數(shù)據(jù)分析,本文主要記錄下常用的用法:去重,分組計(jì)數(shù),分組求和求平均,畫直方圖,畫熱力圖.相關(guān)文檔建議參考pandas的文檔http://pandas.pydata.org/pandas-docs/stable/cookbook.html

題外話

首先說下用了pandas真的對java處理excel深惡痛絕...強(qiáng)類型轉(zhuǎn)換經(jīng)常需要我們進(jìn)行復(fù)雜的變量類型判斷,python這方面簡單的多,比如時(shí)間,讀成文本然后格式化,真的很方便

import pandas as pd
path = r'/app/web/pt'
os.chdir(path)
df = pd.read_excel(r'test.xls', na_values=['null'], dtype={'日期': str})
df['日期'] = pd.to_datetime(df['日期'])
df.to_excel(r'result.xls')

讀寫excel就是這么容易,分分鐘打算放棄java

1.去重

df.drop_duplicates("a2") //以a2列為基準(zhǔn)去重
df.drop_duplicates(["a2","a3"]) //
df.drop_duplicates("a2",keep='first') //去重 保留第一個(gè)

2.分組計(jì)數(shù)

df = df.groupby(['row1', 'row2']).size() //分組計(jì)數(shù)
df = df.groupby(['row1', 'row2']).mean() //分組求平均

3.畫直方圖

畫直方圖是畫圖里最簡單的,把list放在plt的hist里面做參數(shù)即可

path = r'/app/web/pt'
os.chdir(path)
df = pd.read_excel(r'test.xlsx', na_values=['nan'])
new_seris = df.loc[(df['區(qū)域'] =='D'),'歸類后']
values = []
values = new_seris.tolist()
plt.xlabel("歸類")
plt.ylabel("頻次")
plt.hist(values)
plt.title(u"A區(qū)問題分布直方圖")
plt.show()

4.根據(jù)地址求經(jīng)緯度

照搬百度api,不過自己得申請個(gè)vk碼,對并發(fā)量和次數(shù)有限制.不過可以多帳號(hào)多線程去做

def check(address):
    time.sleep(2)
    try:
        r = requests.get(
            "http://api.map.baidu.com/place/v2/search?query=" + address + "&region=北京&output=json&ak=nLpN5iKztxIWsPqgwsyrruUG")
    except:
        return 0, 0
    s = json.loads(r.text)
    print(r.text)
    try:
        lat = s["results"][0]["location"]["lat"]
        lng = s["results"][0]["location"]["lng"]
        return lat, lng
    except:
        return 0, 0

5 根據(jù)經(jīng)緯度畫熱力圖

同樣的百度熱力圖由api,只要修改內(nèi)部的經(jīng)緯代碼,換上自己的帳號(hào)即可,這里截圖看下效果


2018-06-11 22-37-08 的屏幕截圖.png

結(jié)束語

以上是最近的一點(diǎn)小研究的總結(jié),當(dāng)作一個(gè)記錄而已.謝謝閱讀
個(gè)人博客 歡迎訪問~

祝大家編碼愉快,工作愉快,歡迎關(guān)注我的公眾號(hào),一起分享交流


Java技術(shù)小棧
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容