ser1=pd.series(range(10,15),index=list('abcde'))
print(ser1)
普通索引
print(ser1['a'])
print(ser1[0])
print('#############')
注意通過自定義索引的左閉右閉的,用預設索引(下標)是左閉右開的
print(ser1['a':'c'])
print(ser1[0:2])
print()
print('################')
不連續索引
print(ser1[['a','c','e']])
print(ser1[[0,2,3]])
print('###############')
條件索引
print(ser1[(ser1>12) & (ser1<15)])
print()
print(ser1[(ser1<12) | (ser1>15)])
print()
print(ser1[ser1!=13])
print()
print(ser1[~(ser1==13)])
print()
print('###############')
print()
ser2=pd.series(range(10,15),index=range(1,6))
print(ser2)
print('###############')
這樣定義索引無法取到下標0
注意:預設不能直接和之前一樣取連續多列,要使用高階索引實現
df1=pd.dataframe(np.random.randint(10,50,(3,4)),index=list('abc'),columns=list('abcd'))
普通索引
print(df1)
print()
這裡取到的是乙個series物件
print(df1['a'])
print(df1['a'].values)
print()
用行列索引取元素
print(df1['a']['b'])
print(df1['a'][1])
print()
取不連續多列
print(df1[['a','c']])
print()
取單行,注意這個方法取出的是乙個dataframe物件
print(df1['a':'a'])
print()
取連續多行
print(df1['a':'c'])
print('############')
print()
高階索引,這裡是series的例子
ser1=pd.series(range(10,15),index=list('abcde'))
print(ser1.loc['b':'d'])
print(ser1.loc[['b','d']])
print('#############')
print()
dataframe index引數高階索引
print(df1['a':'a'])
print(df1.loc['a'])
print()
取一列資料
print(df1['a'])
print(df1.loc[:,'a'])
print('#############')
print()
取連續多行
print(df1['a':'c'])
print(df1.loc['a':'c'])
print()
取連續多列
print(df1.loc[:,'a':'c'])
print()
取指定連續行列
print(df1.loc['b':'c','c':'d'])
print()
取不連續多行
print(df1.loc[['a','c']])
print()
取不連續多列
print(df1.loc[:,['a','c','d']])
print()
取指定行列(可指定順序)
print(df1.loc[['a','c'],['a','d','c']])
print('#################')
print()
下標高階索引
print(df1.iloc[0,0])
print(df1.iloc[0:2])
print()
print(df1.iloc[:,0:3])
print(df1.iloc[[0,2],[0,3]])
print('##############')
print()
df1=pd.dataframe(np.random.randint(10,20,(3,4)),index=list('abc'),columns=list('abcd'))
print(df1)
print()
新增列df1['e']=df1['d']*10
print(df1)
print()
新增行df1.loc['d']=[1,2,3,4,5]
print(df1)
print()
新增列df1['f']=df1['a']+df1['b']+df1['c']+df1['d']+df1['e']
print(df1)
print()
print('################')
print(df1)
print()
# 刪除指定列
df2=df1.drop(['c','d'],axis=1)
print(df1)
print(df2)
print()
刪除指定列
del df1['d']
print(df1)
#不能刪除指定行
學習筆記 Pandas索引 切片
dataframe物件操作 上回說到series可以看做是帶索引的一維陣列,也可以看做是字典,下面來分別說不同看法下的series物件可以有哪些操作。建立乙個series物件 data pd.series np.linspace 0.25,1 4 index a b c d print data p...
pandas切片學習
1 建立dataframe df pd.dataframe 2 列印dataframe一些屬性 df.dtypes age int64 grade float64 object dtype object df.value array型 10 100.0 female 20 90.0 male 30 ...
pandas索引物件
python for data analysis index物件是不可修改的 immutable 這樣才能使index物件在多個資料結構之間安全共享。in 1 import pandas as pd in 2 from pandas import series,dataframe in 3 impo...