终于弄懂了Pandas中ix()函数的用法了。首先生成一个数据框
import numpy as np
import pandas as pd
df = pd.DataFrame(np.arange(0,60,2).reshape(10,3),columns=list(‘abc’))
df
输出的数据框是这个样子的
a b c
0 0 2 4
1 6 8 10
2 12 14 16
3 18 20 22
4 24 26 28
5 30 32 34
6 36 38 40
7 42 44 46
8 48 50 52
9 54 56 58
可以看到索引index为0,1,2…9,列标签columns name为a,b,c
df.ix[:,:]
print(df)
#输出结果为数据的所有行和列
a b c
0 0 2 4
1 6 8 10
2 12 14 16
3 18 20 22
4 24 26 28
5 30 32 34
6 36 38 40
7 42 44 46
8 48 50 52
9 54 56 58
df.ix[1:6,:]
print(df)
#上面这个代码一直报错,TypeError: unhashable type: ‘slice’,这种错误类型
#虽然我不太知道为什么,但是可以做如下更改后就没有问题了
df=df.values[1:6,:]
print(df)
#输出结果如下。数据框中的第2-6行,所有列
[[ 6 8 10]
[12 14 16]
[18 20 22]
[24 26 28]
[30 32 34]]
ix既能通过索引查询,又能通过行列名进行查询
.ix具备.loc,.iloc,.at,.iat,dataframe[]的所有功能,总之就是.loc,.iloc,.at,.iat,dataframe的语法它都能用,所以在平时的使用中,可以优先选择ix.
至于其它的几个.loc,.iloc,.iat,dataframe[],如果有需要的话,下次再更新