這篇文章主要介紹了Python3.5 Pandas模塊之DataFrame用法,結合實例形式詳細分析了Python3.5中Pandas模塊的DataFrame結構創建、讀取、過濾、獲取等相關操作技巧與注意事項,需要的朋友可以參考下
本文實例講述了Python3.5 Pandas模塊之DataFrame用法。分享給大家供大家參考,具體如下:
1、DataFrame的創建
(1)通過二維數組方式創建
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author:ZhengzhengLiu import numpy as np import pandas as pd from pandas import Series,DataFrame #1.DataFrame通過二維數組創建 print("======DataFrame直接通過二維數組創建======") d1 = DataFrame([["a","b","c","d"],[1,2,3,4]]) print(d1) print("======DataFrame藉助array二維數組創建======") arr = np.array([ ["jack",78], ["lili",86], ["amy",97], ["tom",100] ]) d2 = DataFrame(arr,index=["01","02","03","04"],columns=["姓名","成績"]) print(d2) print("========打印行索引========") print(d2.index) print("========打印列索引========") print(d2.columns) print("========打印值========") print(d2.values)
運行結果:
======DataFrame直接通過二維數組創建======
0 1 2 3
0 a b c d
1 1 2 3 4
======DataFrame藉助array二維數組創建======
姓名 成績
01 jack 78
02 lili 86
03 amy 97
04 tom 100
========打印行索引========
Index(['01', '02', '03', '04'], dtype='object')
========打印列索引========
Index(['姓名', '成績'], dtype='object')
========打印值========
[['jack' '78']
['lili' '86']
['amy' '97']
['tom' '100']]
(2)通過字典方式創建
#2.DataFrame通過字典創建,鍵作爲列索引,鍵值作爲數據值,行索引值自動生成 data = { "apart":['1101',"1102","1103","1104"], "profit":[2000,4000,5000,3500], "month":8 } d3 = DataFrame(data) print(d3) print("========行索引========") print(d3.index) print("========列索引========") print(d3.columns) print("========數據值========") print(d3.values)
運行結果:
apart month profit
0 1101 8 2000
1 1102 8 4000
2 1103 8 5000
3 1104 8 3500
========行索引========
RangeIndex(start=0, stop=4, step=1)
========列索引========
Index(['apart', 'month', 'profit'], dtype='object')
========數據值========
[['1101' 8 2000]
['1102' 8 4000]
['1103' 8 5000]
['1104' 8 3500]]
2、DataFrame數據獲取
import numpy as np import pandas as pd from pandas import Series,DataFrame #3.DataFrame獲取數據 data = { "apart":['1101',"1102","1103","1104"], "profit":[2000,4000,5000,3500], "month":8 } d3 = DataFrame(data) print(d3) print("======獲取一列數據======") print(d3["apart"]) print("======獲取一行數據======") print(d3.ix[1]) print("======修改數據值======") d3["month"] = [7,8,9,10] #修改值 d3["year"] = [2001,2001,2003,2004] #新增列 d3.ix["4"] = np.NaN print(d3)
運行結果:
apart month profit
0 1101 8 2000
1 1102 8 4000
2 1103 8 5000
3 1104 8 3500
======獲取一列數據======
0 1101
1 1102
2 1103
3 1104
Name: apart, dtype: object
======獲取一行數據======
apart 1102
month 8
profit 4000
Name: 1, dtype: object
======修改數據值======
apart month profit year
0 1101 7.0 2000.0 2001.0
1 1102 8.0 4000.0 2001.0
2 1103 9.0 5000.0 2003.0
3 1104 10.0 3500.0 2004.0
4 NaN NaN NaN NaN
3、pandas基本功能
(1)pandas數據文件讀取
import numpy as np import pandas as pd from pandas import Series,DataFrame #pandas基本操作 #1.數據文件讀取 df = pd.read_csv("data.csv") print(df)
運行結果:
name age source
0 gerry 18 98.5
1 tom 21 78.2
2 lili 24 98.5
3 john 20 89.2
(2)數據過濾獲取
import numpy as np import pandas as pd from pandas import Series,DataFrame #pandas基本操作 #1.數據文件讀取 df = pd.read_csv("data.csv") print(df) #2.數據過濾獲取 columns = ["姓名","年齡","成績"] df.columns = columns #更改列索引 print("=======更改列索引========") print(df) #獲取幾列的值 df1 = df[columns[1:]] print("=======獲取幾列的值========") print(df1) print("=======獲取幾行的值========") print(df.ix[1:3]) #刪除含有NaN值的行 df2 = df1.dropna() print("=======刪除含有NaN值的行=======") print(df2)
運行結果:
name age source
0 gerry 18 98.5
1 tom 21 NaN
2 lili 24 98.5
3 john 20 89.2
=======更改列索引========
姓名 年齡 成績
0 gerry 18 98.5
1 tom 21 NaN
2 lili 24 98.5
3 john 20 89.2
=======獲取幾列的值========
年齡 成績
0 18 98.5
1 21 NaN
2 24 98.5
3 20 89.2
=======獲取幾行的值========
姓名 年齡 成績
1 tom 21 NaN
2 lili 24 98.5
3 john 20 89.2
=======刪除含有NaN值的行=======
年齡 成績
0 18 98.5
2 24 98.5
3 20 89.2
更多關於Python相關內容感興趣的讀者可查看本站專題:《Python數學運算技巧總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧彙總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧彙總》
希望本文所述對大家Python程序設計有所幫助。