Dataframe选取数据

2020-03-09  本文已影响0人  葡萄柚子茶
#获得一个dataframe类型的数据样例
df=get_price('000001.XSHE',start_date='2016-02-01',end_date='2016-02-04',frequency='daily',fields=['open','close','high','low'])
df
dataframe.png

选择行名

df.index
#DatetimeIndex(['2016-02-01', '2016-02-02', '2016-02-03', '2016-02-04'], dtype='datetime64[ns]', freq=None, tz=None)

选择列名

df.columns
#Index([u'open', u'close', u'high', u'low'], dtype='object')

选择值

df.values

array([[ 8.08, 7.93, 8.1 , 7.88],
[ 7.93, 8.05, 8.12, 7.92],
[ 7.97, 7.97, 8. , 7.91],
[ 8. , 8.05, 8.09, 8. ]])

以行,列名字作为 索引选择数据---df.loc[行标签,列标签]

# 选择行标签为'2016-02-01',列标签为'open',的数据
df.loc['2016-02-01', 'open']
#8.08

以位置(第几行、第几列)为索引选择数据—— df.iloc[行位置,列位置]

注意位置从0开始

##选择第一行第一列的数据
df.iloc[0,0]
#8.08

同时根据标签和位置选择数据——df.ix[行,列]

# 选择第1行列为‘open’的数据
df.ix[0, 'open']
#8.08

选择连续的多行多列——切片

#选择行从'2016-02-02'到'2016-02-04',列从'open'到'high'的数据
df.loc['2016-02-02':'2016-02-04','open':'high']
dataframe2.png

选择不连续的某几行或某几列

df.loc[:,['open', 'high']]

返回一个dataframe的单列或单行

df.ix[0, :]

open 8.08
close 7.93
high 8.10
low 7.88
Name: 2016-02-01 00:00:00, dtype: float64
若要返回dataframe,可用中括号把索引括上,如下。

df[['open']]

按条件选取数据——df[逻辑条件][¶]

逻辑条件支持&(与)、|(或)、~(非)等逻辑运算

上一篇 下一篇

猜你喜欢

热点阅读