對DataFrame的再理解

2022-04-03 19:54:49 字數 1032 閱讀 7059

1、構造需要從字典構造

cds=

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位的。好像列標題有對齊選項,但是列沒有對齊選項。

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

我對DataFrame的理解(Spark)

以下鏈結為spark sql中的dataframe api dataframe 官方說明 在spark中,dataframe是乙個以命名列方式組織的分布式資料集,等同於關係型資料庫中的乙個表,也相當於r python中的data frames 但是進行了更多的優化 dataframes可以由結構化資...

對函式的再理解

函式的定義域是針對單獨的自變數而言的 引例,已知函式 f x 2x 1 的定義域是 0,infty 則意味著只能是 x in 0,infty 引例,已知 f 2x 1 x 2 的定義域為 1,1 則意味著需要先由 f 2x 1 x 2 變換得到 f x cfrac cfrac 具體變換 令 2x 1...

對 P 的理解,再聯想

前言 正文 p 這種用法是很常見的,很有用的。但是不是很好理解,現在 來徹底分析下 首先 號和 號的優先順序是同一級,但是它們的結合方向是從右邊到左邊。那麼很明顯核心p先和 先結合,這個就確定了關鍵的一件事 會讓指標遞增,而不是指標指向的數,也就是說會遞增的是p而不是 p。但是這裡的 是後 後 有個...