python对初学者的看法_对DataFrame的再理解|python爬虫|python入门|python教程

https://www.xin3721.com/eschool/pythonxin3721/

1、构造需要从字典构造

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数组和列名构造一个骨架,也可以

shijian=['2011','2012','2013','2014','2015','2016','2017','2018'] #年报

fr=pd.DataFrame(index=shijian,columns=codes['name'].tolist())

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

fr["newcol"]=0

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

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是定位到元素,差不多可以通用。

codes.loc[cd,'name'] #代码为cd的行,对应的name列

codes.at[cd,'name'] #如果目标为单个元素,at和loc差不多

codes.loc[codes["code"]==cd,'name'] #如果code不是index,而是普通列,可以设条件

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

6、一些转换

codes.index.tolist() #把series转换为list

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值