Pandas的基本操作
1. 加载数据:
importpandasaspd# 1.加载数据# 1.1加载数据df=pd.read_csv('stock_day.csv')#文件内容没有中文,可以不加encoding之类的# 1.2移除不必要的字段df.drop(columns=['vol','amount'],inplace=True)# 1.3查看处理后的数据df df.info()#查看详细信息df.describe()#查看描述性统计信息# 2.索引操作(详细见下图!!)# 2.1 根据行列索引获取元素: 先列后行 ✔# (df['open'] 相当于一个Series对象,Series对象名[索引](即df['open'][2])获取df对象指定索引的值)print(df['open'][2])#获取open列第3行的值# 先行后列会报错 ❌# df[2]['open'] #报错# 2.2 结合loc,根据行索引和列名来获取元素:df.loc[行名,列名]df.loc['2015-02-27','high']df.loc['2015-02-27':'2018-02-14',['open','high']]# 2.3 结合iloc,根据行号和列索引来获取元素:df.iloc[行号,列号]#获取多条数据df.iloc[0:5,0:2]#包左不包右# 3.赋值操作# 赋值操作: df[列名]=值 或 df.列名=值df['open']=23# df[列名]=值#此方式有弊端,如果列名中含有空格等,该方式不行,如'df.max value'必须写成 ' df['max value'] 'df.high=12# df.列名=值# 4.排序操作# 4.1基于开盘价格open做排序(ascending=True或者不写,默认升序、ascending=False降序)df.sort_values(by='open',ascending=True)#基于开盘价格open升序df.sort_values(by='open',ascending=False)#降序# 4.2基于开盘价格open做降序(ascending=False),价格一样再基于当日最高价格(high)降序df.sort_values(by=['open','high'],ascending=[False,False])# 4.3 按照索引排序:可以没有by???df.sort_index(ascending=True)# 4.4 Series对象的sort_index()、sort_values()排序方法(df.open得到的是一个Series对象)df.open.sort_index(ascending=True)#根据索引排(索引升序)df.open.sort_values(ascending=False)#根据值排(价格降序)