Python:pandas之DataFrame常用操作
定义一个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 D
2018-01-01 0 1 2 3
2018-01-02 4 5 6 7
2018-01-03 8 9 10 11
2018-01-04 12 13 14 15
2018-01-05 16 17 18 19
2018-01-06 20 21 22 23
'''
一个DataFrame相当于一张数据表,我们用常用sql操作来类比说明pandas的DataFrame操作。
DataFrame和sql操作不同的是:
对df选择的元素进行赋值操作会将df返回的集合的每个元素都赋值成功,而sql只会返回一个集合。
选择列:
df.A # select A from df; 返回值类型为一个序列pandas.core.series.Series
df['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)] # 同上