機(jī)器學(xué)習(xí)Python——pandas取行、列、切片

# -*- coding: utf-8 -*-
import numpy as np 
import pandas as pd

data = DataFrame(np.arange(20).reshape(4,5),index = list("ABCD"),columns=list('vwxyz'))
'''
    v   w   x   y   z
a   0   1   2   3   4
b   5   6   7   8   9
c  10  11  12  13  14
d  15  16  17  18  19
'''
print(data[0:3])  # 取前三行數(shù)據(jù)
'''
    v   w   x   y   z
a   0   1   2   3   4
b   5   6   7   8   9
c  10  11  12  13  14
'''
print(len(data))  #統(tǒng)計表格行數(shù)  4
print(data.columns.size)  #統(tǒng)計表格列 5
print(data.columns)  #列索引名稱
# Index(['v', 'w', 'x', 'y', 'z'], dtype='object')
print(data.index) #行索引名稱
# Index(['a', 'b', 'c', 'd'], dtype='object')
print(data.ix[1])  #取第二行數(shù)據(jù)
'''
v    5
w    6
x    7
y    8
z    9
'''
print(data.iloc[1])  #取第2行數(shù)據(jù)
'''
v    5
w    6
x    7
y    8
z    9
'''
print(data['x'])  #取列索引為x的一列數(shù)據(jù)
'''
a     2
b     7
c    12
d    17
'''
print(data.loc['a'])  #取第行索引為'a'的一行數(shù)據(jù)
'''
v    0
w    1
x    2
y    3
z    4
'''
print(data.loc[:,['w','y']])  #表示選取所有的行以及columns為'w','y'的列
'''
    w   y
a   1   3
b   6   8
c  11  13
d  16  18
'''
print(data.loc[['b','c'],['w','y']])  #表示選取'b'和'c'這兩行以及columns為'w','y'的列的并集
'''
    w   y
b   6   8
c  11  13
'''
print(data.iloc[1:3,2:5])  #數(shù)據(jù)切片操作,切連續(xù)的數(shù)據(jù)塊
'''
    x   y   z
b   7   8   9
c  12  13  14
'''
print(data.iloc[[0,2,3],[1,3,4]])  #即可以自由選取行位置,和列位置對應(yīng)的數(shù)據(jù),切零散的數(shù)據(jù)塊
'''
    w   y   z
a   1   3   4
c  11  13  14
d  16  18  19
'''
print(data[data>2])  #表示選取數(shù)據(jù)集中大于2的數(shù)據(jù)
'''
      v     w     x   y   z
a   NaN   NaN   NaN   3   4
b   5.0   6.0   7.0   8   9
c  10.0  11.0  12.0  13  14
d  15.0  16.0  17.0  18  19
'''
print(data[data.w>5])  #表示選取數(shù)據(jù)集中'w'這一列大于5的所有的行
'''
    v   w   x   y   z
b   5   6   7   8   9
c  10  11  12  13  14
d  15  16  17  18  19'''

a1=data.copy()
print(a1[a1['y'].isin(['8','13'])])  #表顯示滿足條件:列'y'中的值包含'8','13'的所有行
'''
    v   w   x   y   z
a   0   1   2   3   4
b   5   6   7   8   9
c  10  11  12  13  14
d  15  16  17  18  19
-------------------------
    v   w   x   y   z
b   5   6   7   8   9
c  10  11  12  13  14
'''
print(data.mean())  #默認(rèn)對每一列的數(shù)據(jù)求平均值;若加上參數(shù)data.mean(1)則對每一行求平均值
'''
v     7.5
w     8.5
x     9.5
y    10.5
z    11.5
'''
print(data['x'].value_counts())  #統(tǒng)計某一列x中各個值出現(xiàn)的次數(shù)
'''
7     1
12    1
2     1
17    1
'''
print(data.describe())  #對每一列數(shù)據(jù)進(jìn)行統(tǒng)計,包括計數(shù),均值,std,各個分位數(shù)等
'''
               v          w          x          y          z
count   4.000000   4.000000   4.000000   4.000000   4.000000
mean    7.500000   8.500000   9.500000  10.500000  11.500000
std     6.454972   6.454972   6.454972   6.454972   6.454972
min     0.000000   1.000000   2.000000   3.000000   4.000000
25%     3.750000   4.750000   5.750000   6.750000   7.750000
50%     7.500000   8.500000   9.500000  10.500000  11.500000
75%    11.250000  12.250000  13.250000  14.250000  15.250000
max    15.000000  16.000000  17.000000  18.000000  19.000000
'''
data.to_excel(r'./data.xls',sheet_name='Sheet1')  #數(shù)據(jù)輸出至Excel
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

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