Python Pandas 資料分析 – DataFrame 雙維度資料 By 彭彭




[ad_1]

喜歡彭彭的教學影片嗎?點擊「加入」按紐取得更多會員服務哦。
加入會員:https://www.youtube.com/channel/UCguZS-y7codLSt6vpkVdnKg/join

DataFrame 雙維度的資料 ( 二維資料 ),詳細教學:

0. 雙維度的表格資料簡介。

1. 資料索引:
1.1 什麼是資料索引。
1.2 內建的資料索引。
1.3 自訂的資料索引。

2. 觀察資料:
2.1 資料數量。
2.2 資料型狀。
2.3 資料索引。

3. 取得列 Row 的資料:
3.1 根據順序取得一整列。
3.2 根據索引取得一整列。

4. 取得欄 Column 的資料:
4.1 根據欄位名稱取得一整欄。
4.2 結合 Series 的概念操作字串。
4.3 結合 Series 的概念取得平均數。

5. 建立新的欄位:
5.1 根據列表建立新欄位。
5.2 根據 Series 建立新欄位。
5.3 根據現有的欄位建立新欄位。

——————-

更多學習資訊,請到彭彭的課程網站:
https://training.pada-x.com/

Source


[ad_2]

Comment List

  • 彭彭的課程
    January 13, 2021

    感恩老师!谢谢您的精心教学!

  • 彭彭的課程
    January 13, 2021

    老師您好,想請問一下建立新的欄位這邊,如果資料列數有3列,但我只有2列的新資料,只寫2列的話會產生錯誤,這部分要如何處理呢?有方法讓它自動補0或者是Nan之類的嗎?感謝

  • 彭彭的課程
    January 13, 2021

    row 不是行吗?column是列吧 听着有点别扭 不过说的倒是清晰

  • 彭彭的課程
    January 13, 2021

    彭彭老師:請問要如將excel的資料讀入python,再進行資料分析??是否有這方面的課程網站可以參閱,謝謝!!

  • 彭彭的課程
    January 13, 2021

    老師,你太好了,在家跟著你學python

  • 彭彭的課程
    January 13, 2021

    讲的很好。不过有点疑惑,我从小学的是横成行,竖成列,竖列也可以叫栏。
    难道台湾是横成列?

  • 彭彭的課程
    January 13, 2021

    彭彭老師到底會多少東西! 好厲害

  • 彭彭的課程
    January 13, 2021

    努力中

  • 彭彭的課程
    January 13, 2021

    30:26 可憐的Amy ,俗又大碗…..幫QQ

  • 彭彭的課程
    January 13, 2021

    老師您好, 請問要如何將以下類型的文字檔轉為 DataFrame
    aaa test1
    bbb test2
    ccc test3

  • 彭彭的課程
    January 13, 2021

    請教彭彭老師,我照你的打但試了幾次之後都出現以下訊息,請問是什麼原因呢? 謝謝!
    raceback (most recent call last):

    File "pandas-dataframe.py", line 2, in <module>

    import pandas as pd

    File "C:Usersshang641AppDataLocalProgramsPythonPython38-32libsite-packagespandas__init__.py", line 16, in <module>

    raise ImportError(

    ImportError: Unable to import required dependencies:

    numpy: DLL load failed while importing _umath_linalg: 存取被拒。

  • 彭彭的課程
    January 13, 2021

    老師的影片真的很受用,連沒接觸過的都能夠理解!!看到最後也不會太難~

  • 彭彭的課程
    January 13, 2021

    花了一週把整個系列看過一次,把許多之前看文字不懂的地方釐清了!太感謝老師了!希望之後還有更多python的影片

  • 彭彭的課程
    January 13, 2021

    大陆这边对于表格横向的部分称作行,纵向的部分称作列,列的概念和彭彭老师讲的正好相反,听的晕晕乎乎的XD

  • 彭彭的課程
    January 13, 2021

    你好,请问如果cp值要取整数的话,需要怎么操作

  • 彭彭的課程
    January 13, 2021

    《雙維度的資料》就像是一個表格,有欄和列的概念
    《建立DataFrame》
    # 載入Pandas模組
    import pandas as pd
    # 以字典資料為底,建立DataFrame
    pd.DataFrame(字典)

    *資料索引*
    《資料的獨立編號》試算表excel最左邊的編號

    《內建索引》
    # 載入Pandas模組
    import pandas as pd
    # 以字典資料為底,建立DataFrame
    pd.DataFrame(字典)

    《自訂索引》
    # 載入Pandas模組
    import pandas as pd
    # 以字典資料為底,建立DataFrame
    pd.DataFrame(字典,index=索引列表)

    *觀察資料*

    《資料數量》
    import pandas as pd
    data = pd.DataFrame(字典)
    print(data.size) # 印出size屬性

    《資料形狀》
    import pandas as pd
    data = pd.DataFrame(字典)
    print(data.shape) # 印出shape屬性

    《資料索引》
    import pandas as pd
    data = pd.DataFrame(字典,index=索引列表)
    print(data.index) # 印出index屬性

    *取得「列」資料*
    《整列的資料》列Row在試算表中橫向的資料

    《依據順序取一整列》
    import pandas as pd
    data = pd.DataFrame(字典,index=索引列表)
    # 取得一整列data.iloc[順序]
    print(data[1]) # Series型態

    *取得「列」資料*
    《整欄的資料》欄column在試算表中橫向的資料

    《依據名稱取一整欄》
    import pandas as pd
    data = pd.Series(字典)
    # 取得一整列data[欄位名稱]
    print(data[欄位名稱]) # Series型態

    *建立新的欄位*
    《建立新的欄位》
    import pandas as pd
    data = pd.DataFrame(字典)
    # 以下語法建立新的欄位
    data["新欄位名稱"]=列表資料
    data["新欄位名稱"]=Series型態資料

    # 載入pandas模組
    import pandas as pd
    # 資料索引: pd.DataFrame(字典,index=索引列表)
    data = pd.DataFrame({
    "name":["Amy","Bob","Charles"],
    "salary":[30000,50000,40000]
    }, index=["a","b","c"])
    print(data)
    # >>> name salary
    # >>> 0 Amy 30000
    # >>> 1 Bob 50000
    # >>> 2 Charles 40000

    # 加上自定義索引 , index=["a","b","c"]
    # >>> name salary
    # >>> a Amy 30000
    # >>> b Bob 50000
    # >>> c Charles 40000
    print("====================")
    # 觀察資料
    print("資料數量",data.size)
    print("資料形狀(列,欄)",data.shape)
    print("資料索引",data.index)
    # >>> 資料數量 6
    # >>> 資料形狀(列,欄) (3, 2)
    # >>> 資料索引 Index(['a', 'b', 'c'], dtype='object')

    # 取得列(Row/橫向)的Series資料:根據順序、根據索引
    print("取得第二列", data.iloc[1], sep="n")
    print("====================")
    print("取得第c列", data.loc["c"], sep="n")
    # >>> 取得第二列
    # >>> name Bob
    # >>> salary 50000
    # >>> Name: b, dtype: object
    # >>> ====================
    # >>> 取得第c列
    # >>> name Charles
    # >>> salary 40000
    # >>> Name: c, dtype: object

    # 取得欄(Column/直向)的Series資料:根據欄位的名稱
    print("取得name欄位", data["name"], sep="n")
    names = data["name"] # 取得單維度的Series資料
    print("把name全部轉大寫", names.str.upper(),sep="n")
    # >>> 取得name欄位
    # >>> a Amy
    # >>> b Bob
    # >>> c Charles
    # >>> Name: name, dtype: object
    # >>> 把name全部轉大寫
    # >>> a AMY
    # >>> b BOB
    # >>> c CHARLES
    # >>> Name: name, dtype: object
    salaries = data["salary"]
    print("薪水的平均值", salaries.mean())
    # >>> 薪水的平均值 40000.0

    # 建立新的欄位01
    # data[新的欄位名稱] = 列表
    data["revenue"] = [500000,400000,300000]
    print(data)
    # >>> name salary revenue
    # >>> a Amy 30000 500000
    # >>> b Bob 50000 400000
    # >>> c Charles 40000 300000

    # data[新欄位的名稱] = Series的資料
    data["rank"] = pd.Series([3,6,1], index=["a","b","c"])
    print(data)
    # >>> name salary revenue rank
    # >>> a Amy 30000 500000 3
    # >>> b Bob 50000 400000 6
    # >>> c Charles 40000 300000 1

    # 根據現有欄位複製
    data["cp"] = data["salary"]
    print(data)
    # >>> name salary revenue rank cp
    # >>> a Amy 30000 500000 3 30000
    # >>> b Bob 50000 400000 6 50000
    # >>> c Charles 40000 300000 1 40000

    data["cp"] = data["revenue"]/data["salary"]
    print(data)
    # >>> name salary revenue rank cp
    # >>> a Amy 30000 500000 3 16.666667
    # >>> b Bob 50000 400000 6 8.000000
    # >>> c Charles 40000 300000 1 7.500000

  • 彭彭的課程
    January 13, 2021

    謝謝彭彭老師教學。
    請問新增一列應如何做到呢?例如已有a,b,c列,想新增d列 peter 50000 60000 5 ….

  • 彭彭的課程
    January 13, 2021

    謝謝彭彭老師,看完了,獲益良多。

  • 彭彭的課程
    January 13, 2021

    讲的非常好。

  • 彭彭的課程
    January 13, 2021

    期待進階的python教學

  • 彭彭的課程
    January 13, 2021

    看老師的影片比補習班還要有用xd

  • 彭彭的課程
    January 13, 2021

    感謝彭彭老師無私分享,這邊分享遇到的問題,若有錯還請老師指正。有遇到unsupported operand type(s) for /: 'int' and 'str'的問題,且之前還遇到算平均時未能得到平均。最終發現數據類型不對導致此問題,相信有些人也會遇到此問題,因此要記得一開始的資料要宣告好即可。分享資料如下:
    data=pd.DataFrame({
    "name":["Amy", "Bob", "Charles"],
    "salary":["30000","50000","40000"]
    },index=["a", "b", "c"],dtype="float64")

  • 彭彭的課程
    January 13, 2021

    pandas很像無法寫成函式做字串搜尋,很像會型不一樣錯誤?

  • 彭彭的課程
    January 13, 2021

    5天时间看完了,讲的通俗易懂。
    感觉还是没有用武之地。
    希望老师能够推出更多的更深入的 python 教程,特别是实用性讲学。

  • 彭彭的課程
    January 13, 2021

    每天下班吃完晚餐後第一件事就是來學新知識 興奮不已

  • 彭彭的課程
    January 13, 2021

    三天时间看完了,讲的通俗易懂。
    希望老师能够推出更多的更深入的 python 教程,比如引入更多的模块使用,正则技巧等等

  • 彭彭的課程
    January 13, 2021

    老师,您好,我看完了您讲的Python基础教程,我觉得讲得非常的仔细,请问您后期还会更新Python教程吗?

  • 彭彭的課程
    January 13, 2021

    新年快樂 彭彭老師,目前已經看完全部課程,很感謝老師的細心教學,期待老師下一堂的課程^^

  • 彭彭的課程
    January 13, 2021

    交的很好 謝啦

  • 彭彭的課程
    January 13, 2021

    撐到最後一個影片只有2000 人,是第一個影片的10分之1 XDDDDD

  • 彭彭的課程
    January 13, 2021

    老師新年快樂~~另外請問要怎麼用pandas讀取及合併多個csv檔案呀?

  • 彭彭的課程
    January 13, 2021

    厉害,支持,过几天再看,这几天在看API 🙂

  • 彭彭的課程
    January 13, 2021

    请问老师 pandas有针对EXCEL教学吗?

  • 彭彭的課程
    January 13, 2021

    想請問彭彭老師,在之後有打算教學django的部分嗎?

  • 彭彭的課程
    January 13, 2021

    新年快樂,感謝老師的教學,收穫良多

  • 彭彭的課程
    January 13, 2021

    老師新年快樂!謝謝您的教學~

  • 彭彭的課程
    January 13, 2021

    請問一下能否使用atom這種文字編輯器來寫網路爬蟲或資料分析? 對我來說vscode實在太笨重了

  • 彭彭的課程
    January 13, 2021

    新年快樂~~!!等好久了!!終於更新了~~老師的教學幫助很大~

  • 彭彭的課程
    January 13, 2021

    謝謝你

Write a comment