Python3.5 Pandas模塊之DataFrame用法實例分析

這篇文章主要介紹了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程序設計有所幫助。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章