前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >对DataFrame的再理解

对DataFrame的再理解

作者头像
用户1075292
发布2020-02-18 11:42:54
4070
发布2020-02-18 11:42:54
举报
文章被收录于专栏:听雨堂

1、构造需要从字典构造

代码语言:javascript
复制
cds={'code':["002372.XSHE","002415.XSHE","002304.XSHE","600519.XSHG","600196.XSHG"],    #代码
     'name':["伟星新材",    "海康威视",    "洋河股份",   "贵州茅台",    "复星医药"]}
codes=pd.DataFrame(cds)
codes=codes.set_index("code")

如果要指定index,可以用set_index,但要注意必须再次赋值。

2、如果先用index数组和列名构造一个骨架,也可以

代码语言:javascript
复制
shijian=['2011','2012','2013','2014','2015','2016','2017','2018']  #年报
fr=pd.DataFrame(index=shijian,columns=codes['name'].tolist())

3、也可以动态添加列,直接命名赋值即可

代码语言:javascript
复制
fr["newcol"]=0

4、列名可以用中文,但要对齐的话,需要设置(pandas 0.2以上)

代码语言:javascript
复制
pd.set_option('display.unicode.ambiguous_as_wide', True) #控制中文标题对齐
pd.set_option('display.unicode.east_asian_width', True)
pd.set_option('display.float_format', lambda x: '%.2f' % x) #小数显示格式,保留2位

最下面是设置小数显示保留2位的。好像列标题有对齐选项,但是列没有对齐选项。https://blog.csdn.net/weekdawn/article/details/81389865

5、DataFrame的元素定位,ix弃用了,只能用loc,iloc,at,iat。loc是切片,at是定位到元素,差不多可以通用。

代码语言:javascript
复制
codes.loc[cd,'name'] #代码为cd的行,对应的name列
codes.at[cd,'name']  #如果目标为单个元素,at和loc差不多
codes.loc[codes["code"]==cd,'name'] #如果code不是index,而是普通列,可以设条件

而iloc和iat的行和列参数,必须都是index

6、一些转换

代码语言:javascript
复制
codes.index.tolist() #把series转换为list
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-01-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档