# =============================================================================
# 以标签(行、列的名字)为索引选择数据—— x.loc[行标签,列标签]
# 以位置(第几行、第几列)为索引选择数据—— x.iloc[行位置,列位置]
# 同时根据标签和位置选择数据——x.ix[行,列]-------(基本不用了)
# =============================================================================
import numpy as np
import pandas as pd
#四行四列,四行为'a','b','c','d',四列为'first','second','third','fourth'
df=pd.DataFrame(np.arange(16).reshape(4,4),index=['a','b','c','d'],columns=['first','second','third','fourth'])
print(df)
df
# =============================================================================
#取第二列和第二第三列和第二第四列
# =============================================================================
df['second']#建议使用
df.second
df.loc[:,'second']
df.iloc[:,1]#建议使用
# =============================================================================
df[['second','third']]
df.loc[:,['second','third']]
df.iloc[:,1:3]#建议使用
# =============================================================================
df[['second','fourth']]
df.iloc[:,[1,3]]
df.ix[:,[1,3]] #基本不用了
# =============================================================================
#取第二行和第二第三行和第二第四行
# =============================================================================
df[1:2]
df.iloc[1,:]#建议使用
df.iloc[1]
df.iloc[1,]
df.loc['b',:]#建议使用
df.loc['b',]
df.loc['b']
# =============================================================================
df[1:3]#建议使用
df.iloc[1:3]#建议使用
df.iloc[1:3,]
df.iloc[1:3,:]
df.loc[['b','c'],:]
# =============================================================================
df.iloc[[1,3],:]
# =============================================================================
#取DataFrame的第二行第二列或第二四行一三列
# =============================================================================
df.loc['b','second']
df.iloc[1,1]
# =============================================================================
df.loc[['b','d'],['first','third']]
df.iloc[[1,3],[0,2]]
# =============================================================================
# =============================================================================
#综上使用建议使用索引如下:
df.loc[行名,列名]
df.iloc[行位置,列位置]
# =============================================================================