定义一个df:
dates = pd.date_range('20180101', periods=6)df = pd.DataFrame(np.arange(24).reshape(6, 4), index=dates, columns=['A', 'B', 'C', 'D'])print(df) #类型为pandas.core.frame.DataFrame''' A B C D2018-01-01 0 1 2 32018-01-02 4 5 6 72018-01-03 8 9 10 112018-01-04 12 13 14 152018-01-05 16 17 18 192018-01-06 20 21 22 23'''
一个DataFrame相当于一张数据表,我们用常用sql操作来类比说明pandas的DataFrame操作。
DataFrame和sql操作不同的是:
对df选择的元素进行赋值操作会将df返回的集合的每个元素都赋值成功,而sql只会返回一个集合。选择列:
df.A # select A from df; 返回值类型为一个序列pandas.core.series.Seriesdf['A'] # 同上df[['A','C']] # select A, C from df; 类型为DataFrame
条件筛选:
df.loc[df.A > 0, 'B'] # select B from df where A>0;df.loc[(df.A>0)&(df.D<20), ['B', 'C']] # select B,C from df where A>0 and D<20;df[['B', 'C']].loc[(df.A>0)&(df.D<20)] # 同上