序
這里主要介紹下,在DataFrame中一些篩選的操作克胳,常用的有下面這些
熟練掌握上面的幾個方法平绩,操作DataFrame應(yīng)該就足夠了
import pandas as pd
import numpy as np
d = {'one' : pd.Series([1., 2., 3.], index=['a', 'b', 'c']),
'two' : pd.Series([1., 2., 3., 4.], index=['a', 'b', 'c', 'd'])}
df = pd.DataFrame(d)
print('原始數(shù)據(jù):\n',df)
print('index 為a的數(shù)據(jù):\n',df.loc['a'])
print('index下標為2的數(shù)據(jù):\n', df.iloc[2])
.loc函數(shù)
,主要就是通過label來獲取row數(shù)據(jù)
前面的例子漠另,都是通過label來輸出指定的行數(shù)據(jù)馒过,其實也可以控制輸出指定的列
df2 = pd.DataFrame(np.random.randn(6,4),index=list('abcdef'),
columns=list('ABCD'))
print(df2)
print(df2.loc['c':])
print(df2.loc['d':,['A','D']])
我們還可以實現(xiàn)更復(fù)雜的篩選
我們只輸出指定的列,label 為a的行數(shù)值大于-1且小于0的列
print(df2.loc[:,(df2.loc['a']>-1) & (df2.loc['a']<0)])
#輸出指定單元格數(shù)據(jù)print(df2.loc['a','C'])
.iloc函數(shù)
就是通過下標來篩選數(shù)據(jù)
df3 = pd.DataFrame(np.random.randn(6,4),
index=list(range(0,12,2)),
columns=list(range(0,8,2)))
print(df3)
#輸出第2行
print(df3.iloc[1])
print(df3.iloc[:3])
print(df3.iloc[3:5,1:3])
print(df3.iloc[[1, 3, 5], [1, 3]])