1、構造需要從字典構造cds={'code':["002372.XSHE","002415.XSHE","002304.XSHE","600519.XSHG","600196.XSHG"], #代碼 'name':["偉星新材", "海康威視", "洋河股份", "貴州茅臺", "復星醫葯"]} c... ...
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