# -*- 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]) # 取前三行数据
'''
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)) #统计表格行数 4
print(data.columns.size) #统计表格列 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]) #取第二行数据
'''
v 5
w 6
x 7
y 8
z 9
'''
print(data.iloc[1]) #取第2行数据
'''
v 5
w 6
x 7
y 8
z 9
'''
print(data['x']) #取列索引为x的一列数据
'''
a 2
b 7
c 12
d 17
'''
print(data.loc['a']) #取第行索引为'a'的一行数据
'''
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]) #数据切片操作,切连续的数据块
'''
x y z
b 7 8 9
c 12 13 14
'''
print(data.iloc[[0,2,3],[1,3,4]]) #即可以自由选取行位置,和列位置对应的数据,切零散的数据块
'''
w y z
a 1 3 4
c 11 13 14
d 16 18 19
'''
print(data[data>2]) #表示选取数据集中大于2的数据
'''
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]) #表示选取数据集中'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()) #默认对每一列的数据求平均值;若加上参数data.mean(1)则对每一行求平均值
'''
v 7.5
w 8.5
x 9.5
y 10.5
z 11.5
'''
print(data['x'].value_counts()) #统计某一列x中各个值出现的次数
'''
7 1
12 1
2 1
17 1
'''
print(data.describe()) #对每一列数据进行统计,包括计数,均值,std,各个分位数等
'''
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') #数据输出至Excel
机器学习Python——pandas取行、列、切片
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 不叨叨,直接来干货 本文默认你已经有一定的python基础了。 import numpy as np impor...
- 罗大佑,林夕,李宗盛,方文山,高晓松这几个人,都是创作人,林夕和方文山是专注写词,高晓松词曲创作,偶尔自己唱,罗大...