Python3.5 Pandas模塊之DataFrame用法實(shí)例分析
本文實(shí)例講述了Python3.5 Pandas模塊之DataFrame用法。分享給大家供大家參考,具體如下:
1、DataFrame的創(chuàng)建
(1)通過(guò)二維數(shù)組方式創(chuàng)建

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:ZhengzhengLiu
import numpy as np
import pandas as pd
from pandas import Series,DataFrame
#1.DataFrame通過(guò)二維數(shù)組創(chuàng)建
print("======DataFrame直接通過(guò)二維數(shù)組創(chuàng)建======")
d1 = DataFrame([["a","b","c","d"],[1,2,3,4]])
print(d1)
print("======DataFrame借助array二維數(shù)組創(chuàng)建======")
arr = np.array([
["jack",78],
["lili",86],
["amy",97],
["tom",100]
])
d2 = DataFrame(arr,index=["01","02","03","04"],columns=["姓名","成績(jī)"])
print(d2)
print("========打印行索引========")
print(d2.index)
print("========打印列索引========")
print(d2.columns)
print("========打印值========")
print(d2.values)
運(yùn)行結(jié)果:
======DataFrame直接通過(guò)二維數(shù)組創(chuàng)建======
0 1 2 3
0 a b c d
1 1 2 3 4
======DataFrame借助array二維數(shù)組創(chuàng)建======
姓名 成績(jī)
01 jack 78
02 lili 86
03 amy 97
04 tom 100
========打印行索引========
Index(['01', '02', '03', '04'], dtype='object')
========打印列索引========
Index(['姓名', '成績(jī)'], dtype='object')
========打印值========
[['jack' '78']
['lili' '86']
['amy' '97']
['tom' '100']]
(2)通過(guò)字典方式創(chuàng)建

#2.DataFrame通過(guò)字典創(chuàng)建,鍵作為列索引,鍵值作為數(shù)據(jù)值,行索引值自動(dòng)生成
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("========數(shù)據(jù)值========")
print(d3.values)
運(yùn)行結(jié)果:
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')
========數(shù)據(jù)值========
[['1101' 8 2000]
['1102' 8 4000]
['1103' 8 5000]
['1104' 8 3500]]
2、DataFrame數(shù)據(jù)獲取



import numpy as np
import pandas as pd
from pandas import Series,DataFrame
#3.DataFrame獲取數(shù)據(jù)
data = {
"apart":['1101',"1102","1103","1104"],
"profit":[2000,4000,5000,3500],
"month":8
}
d3 = DataFrame(data)
print(d3)
print("======獲取一列數(shù)據(jù)======")
print(d3["apart"])
print("======獲取一行數(shù)據(jù)======")
print(d3.ix[1])
print("======修改數(shù)據(jù)值======")
d3["month"] = [7,8,9,10] #修改值
d3["year"] = [2001,2001,2003,2004] #新增列
d3.ix["4"] = np.NaN
print(d3)
運(yùn)行結(jié)果:
apart month profit
0 1101 8 2000
1 1102 8 4000
2 1103 8 5000
3 1104 8 3500
======獲取一列數(shù)據(jù)======
0 1101
1 1102
2 1103
3 1104
Name: apart, dtype: object
======獲取一行數(shù)據(jù)======
apart 1102
month 8
profit 4000
Name: 1, dtype: object
======修改數(shù)據(jù)值======
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數(shù)據(jù)文件讀取


import numpy as np
import pandas as pd
from pandas import Series,DataFrame
#pandas基本操作
#1.數(shù)據(jù)文件讀取
df = pd.read_csv("data.csv")
print(df)
運(yùn)行結(jié)果:
name age source
0 gerry 18 98.5
1 tom 21 78.2
2 lili 24 98.5
3 john 20 89.2
(2)數(shù)據(jù)過(guò)濾獲取

import numpy as np
import pandas as pd
from pandas import Series,DataFrame
#pandas基本操作
#1.數(shù)據(jù)文件讀取
df = pd.read_csv("data.csv")
print(df)
#2.數(shù)據(jù)過(guò)濾獲取
columns = ["姓名","年齡","成績(jī)"]
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)
運(yùn)行結(jié)果:
name age source
0 gerry 18 98.5
1 tom 21 NaN
2 lili 24 98.5
3 john 20 89.2
=======更改列索引========
姓名 年齡 成績(jī)
0 gerry 18 98.5
1 tom 21 NaN
2 lili 24 98.5
3 john 20 89.2
=======獲取幾列的值========
年齡 成績(jī)
0 18 98.5
1 21 NaN
2 24 98.5
3 20 89.2
=======獲取幾行的值========
姓名 年齡 成績(jī)
1 tom 21 NaN
2 lili 24 98.5
3 john 20 89.2
=======刪除含有NaN值的行=======
年齡 成績(jī)
0 18 98.5
2 24 98.5
3 20 89.2
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Python數(shù)學(xué)運(yùn)算技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門(mén)與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
在pycharm中文件取消用 pytest模式打開(kāi)的操作
這篇文章主要介紹了在pycharm中文件取消用 pytest模式打開(kāi)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09
python3.4用函數(shù)操作mysql5.7數(shù)據(jù)庫(kù)
這篇文章主要為大家詳細(xì)介紹了python3.4用函數(shù)操作mysql5.7數(shù)據(jù)庫(kù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
Python 基于Twisted框架的文件夾網(wǎng)絡(luò)傳輸源碼
這篇文章主要介紹了Python 基于Twisted框架的文件夾網(wǎng)絡(luò)傳輸源碼,需要的朋友可以參考下2016-08-08
python利用elaphe制作二維條形碼實(shí)現(xiàn)代碼
條形碼的應(yīng)用將會(huì)越來(lái)越廣泛,看到了一篇文章,寫(xiě)的挺好的!用手機(jī)拍二維碼,查二維碼確實(shí)很爽!這將成為一種潮流2012-05-05
python 讀取文件并把矩陣轉(zhuǎn)成numpy的兩種方法
今天小編就為大家分享一篇python 讀取文件并把矩陣轉(zhuǎn)成numpy的兩種方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-02-02

