请 [注册] 或 [登录]  | 返回主站

量化交易吧 /  量化平台 帖子:3365793 新帖:0

【dataframe】 增删行或列

交易资深人士发表于:5 月 9 日 23:43回复(1)

取用数据的时候有时候会取用dataframe的格式,本篇整理了相关的内容,以便大家查阅和学习。欢迎反馈:)

摘要

  • 增加一列
  • 增加一行
  • 删除行或列——df.drop

本篇是dataframe专题使用指南的一篇,更多请查看:pandas dataframe 专题使用指南

dataframe 增删行或列¶

获得一个dataframe数据类型的样例¶

df=get_price('000001.XSHE',start_date='2016-02-01',end_date='2016-02-04',frequency='daily',fields=['open','high','low','close'])
df
open high low close
2016-02-01 8.08 8.10 7.88 7.93
2016-02-02 7.93 8.12 7.92 8.05
2016-02-03 7.97 8.00 7.91 7.97
2016-02-04 8.00 8.09 8.00 8.05

增加一列¶

df['new']=[1,2,3,4]
df
open high low close new
2016-02-01 8.08 8.10 7.88 7.93 1
2016-02-02 7.93 8.12 7.92 8.05 2
2016-02-03 7.97 8.00 7.91 7.97 3
2016-02-04 8.00 8.09 8.00 8.05 4

增加一行¶

df.loc['new',:]=[1,1,1,1,1]
df
open high low close new
2016-02-01 00:00:00 8.08 8.10 7.88 7.93 1
2016-02-02 00:00:00 7.93 8.12 7.92 8.05 2
2016-02-03 00:00:00 7.97 8.00 7.91 7.97 3
2016-02-04 00:00:00 8.00 8.09 8.00 8.05 4
new 1.00 1.00 1.00 1.00 1

删除行或列——df.drop¶

df.drop(labels,axis=0,inplace=False)

  • labels 行或列的标签名,写在第一个可省略。
  • axis= 0 删除行;1 删除列
  • inplace= False 生成新dataframe;True 不生成新的dataframe,替换原本dataframe。默认是False。
  • 该操作默认返回的是另一个新的dataframe,以至于原来的没有变,如在下面第一个例子中删除的列,在第二个例子中还有。要替换原来的请调整inplace参数
df.drop(['new','close'],axis=1)
open high low
2016-02-01 00:00:00 8.08 8.10 7.88
2016-02-02 00:00:00 7.93 8.12 7.92
2016-02-03 00:00:00 7.97 8.00 7.91
2016-02-04 00:00:00 8.00 8.09 8.00
new 1.00 1.00 1.00
df.drop(axis=0,labels=['new'],inplace=True)
df
open high low close new
2016-02-01 8.08 8.10 7.88 7.93 1
2016-02-02 7.93 8.12 7.92 8.05 2
2016-02-03 7.97 8.00 7.91 7.97 3
2016-02-04 8.00 8.09 8.00 8.05 4

全部回复

0/140

达人推荐

量化课程

    移动端课程