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)]  # 同上
posted @ 2018-12-26 09:27  xuejianbest  阅读(1663)  评论(0编辑  收藏  举报