日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

合并 多个dataframe_什么是Pandas的DataFrame?

發布時間:2024/7/23 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 合并 多个dataframe_什么是Pandas的DataFrame? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 什么是DataFrame

DataFrame是一個表格型的數據結構,它含有一組有序的列,每列可以是不同的值類型(數值、字符串、布爾值等)。DataFrame既有行索引也有列索引,它可以被看做由series組成的字典(共用同一個索引)

2. DateFrame特點

DataFrame中面向行和面向列的操作基本是平衡的。

DataFrame中的數據是以一個或多個兩維塊存放的(而不是列表、字典或別的一維數據結構)。

3. 創建DataFrame

最常用的一種是直接傳入一個由等長列表或NumPy數組組成的字典:

In [33]: data={'state':['Ohio','Ohio','Ohio','Nevada','Nevada'],'year':[2000,2001,2002,2001,2002],'pop':[1.5,1.7,3.6,2.4,2.9]}

In [34]: frame=DataFrame(data)

#結果DataFrame會自動加上索引(跟Series一樣),且全部列會被有序排列:

In [35]: frame

Out[35]:

pop state year

0 1.5 Ohio 2000

1 1.7 Ohio 2001

2 3.6 Ohio 2002

3 2.4 Nevada 2001

4 2.9 Nevada 2002

4. 指定列順序

#使用clolumns指定列順序

In [36]: DataFrame(data,columns=['year','state','pop'])

Out[36]:

year state pop

0 2000 Ohio 1.5

1 2001 Ohio 1.7

2 2002 Ohio 3.6

3 2001 Nevada 2.4

4 2002 Nevada 2.9

5. NA值

跟Series一樣,如果傳入的列在數據中找不到,就會產生NA值:

In [37]: DataFrame(data,columns=['year','state','pop','debt'],index=['one','two','three','four','five'])

Out[37]:

year state pop debt

one 2000 Ohio 1.5 NaN

two 2001 Ohio 1.7 NaN

three 2002 Ohio 3.6 NaN

four 2001 Nevada 2.4 NaN

five 2002 Nevada 2.9 NaN

6. 類似字典(或屬性)標記

通過類似字典標記的方式或屬性的方式,可以將DataFrame的列獲取為一個Series:

In [39]: frame['state'] #或frame.state

Out[39]:

0 Ohio

1 Ohio

2 Ohio

3 Nevada

4 Nevada

Name: state, dtype: object

7. 索引字段ix(行)

注意,返回的Series擁有原DataFrame相同的索引,且其name屬性也已經被相應地設置好了。行也可以通過位置或名稱的方式進行獲取,比如用索引字段ix:

In [44]: frame2.ix['one']

Out[44]:

year 2000

state Ohio

pop 1.5

debt NaN

Name: one, dtype: object

8. 通過賦值修改列

列可以通過賦值的方式進行修改。例如,可以給那個空的‘debt’列賦上一個標量值或一組值:

In [45]: frame2['debt']=16.5 #或frame2.debt

In [46]: frame2

Out[46]:

year state pop debt

one 2000 Ohio 1.5 16.5

two 2001 Ohio 1.7 16.5

three 2002 Ohio 3.6 16.5

four 2001 Nevada 2.4 16.5

five 2002 Nevada 2.9 16.5

In [50]: frame2.debt=np.arange(5.)

In [51]: frame2

Out[51]:

year state pop debt

one 2000 Ohio 1.5 0.0

two 2001 Ohio 1.7 1.0

three 2002 Ohio 3.6 2.0

four 2001 Nevada 2.4 3.0

five 2002 Nevada 2.9 4.0

將列表或數組賦值給某個列時,其長度必須跟DataFrame的長度相匹配。如果賦值的是一個Series,就會精確匹配DataFrame的索引,所有的空位都將被填上缺失值:

In [52]: val=Series([-1.2,-1.5,-1.7],index=['two','four','five'])

In [53]: frame2['debt']=val

In [54]: frame2

Out[54]:

year state pop debt

one 2000 Ohio 1.5 NaN

two 2001 Ohio 1.7 -1.2

three 2002 Ohio 3.6 NaN

four 2001 Nevada 2.4 -1.5

five 2002 Nevada 2.9 -1.7

9. 關鍵字del刪除列

為不存在的列賦值會創建出一個新列。關鍵字del用于刪除列:

In [55]: frame2['eastern']=frame2.state=='Ohio'

In [56]: frame2

Out[56]:

year state pop debt eastern

one 2000 Ohio 1.5 NaN True

two 2001 Ohio 1.7 -1.2 True

three 2002 Ohio 3.6 NaN True

four 2001 Nevada 2.4 -1.5 False

five 2002 Nevada 2.9 -1.7 False

In [57]: del frame2['eastern']

In [58]: frame2.columns

Out[58]: Index(['year', 'state', 'pop', 'debt'], dtype='object')

警告:通過索引方式返回的列只是相應數據的視圖而已,并不是副本。因此,對返回的Series所做的任何就地修改全都會反映到源DataFrame上。通過Series的copy方法即可顯示地賦值列。

10. 嵌套字典

嵌套字典(也就是字典的字典):

In [62]: pop={'Nevada':{2001:2.4,2002:2.9},'Ohio':{2000:1.5,2001:17,2002:3.6}}

#如果將它傳給DataFrame,它就會被解釋為:外層字典的鍵作為列,內層鍵則作為行索引:

In [63]: frame3=DataFrame(pop)

In [64]: frame3

Out[64]:

Nevada Ohio

2000 NaN 1.5

2001 2.4 17.0

2002 2.9 3.6

內層字典的鍵會被合并、排序以形成最終的索引。如果顯式指定了索引,則不會這樣:

In [66]: DataFrame(pop,index=[2001,2002,2003])

Out[66]:

Nevada Ohio

2001 2.4 17.0

2002 2.9 3.6

2003 NaN NaN

由Series組成的字典差不多也是一樣的用法:

In [68]: pdata={'Ohio':frame3['Ohio'][:-1],'Nevada':frame3['Nevada'][:2]}

In [69]: DataFrame(pdata)

Out[69]:

Nevada Ohio

2000 NaN 1.5

2001 2.4 17.0

11. 轉置

In [65]: frame3.T

Out[65]:

2000 2001 2002

Nevada NaN 2.4 2.9

Ohio 1.5 17.0 3.6

12.索引對象

Pandas的索引對象負責管理軸標簽和其他元數據(比如軸名稱等)。

Index對象是不可修改的(immutable),因此用戶不能對其進行修改。

不可修改性非常重要,因為這樣才能使Index對象在多個數據結構之間安全共享。

注意:雖然大部分用戶都不需要知道太多關于Index對象的細節,但它們確實是pandas數據模型的重要組成部分。

「親,如果筆記對您有幫助,收藏的同時,記得給點個贊、加個關注哦!感謝!」

「文中代碼均親測過,若有錯誤之處,歡迎批評指正,一起學習,一起成長!」

總結

以上是生活随笔為你收集整理的合并 多个dataframe_什么是Pandas的DataFrame?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 青青操视频在线观看 | 十八禁毛片 | 韩国一级片在线观看 | 成人久久久 | 欧美日韩一区二区综合 | 日本免费黄色小视频 | 欧美视频在线观看 | 亚洲国产成人无码av在线 | 欧美日韩国产电影 | 国产盗摄精品一区二区酒店 | 国产强被迫伦姧在线观看无码 | 亚洲特黄视频 | 风间由美一区二区三区 | 日韩小视频在线观看 | 色女生影院 | 精品一区二区国产 | 一卡二卡三卡在线视频 | 91久精品 | 99视频观看 | 日韩欧美在线观看 | 亚洲一区在线播放 | 久久接色 | 欧美国产日韩一区二区 | 中文免费在线观看 | 在线观看二区 | 看片免费黄在线观看入口 | 欧美精品一级 | 中日韩精品一区二区三区 | 69国产在线 | 探花视频在线观看 | 免费毛片在线播放 | 国产无遮挡呻吟娇喘视频 | 亚洲av无码成人精品国产 | a级片一区二区 | 欧美专区在线视频 | 亚洲国产一二三区 | 一区二区三区精品在线观看 | 成人黄色激情网 | 国产真实乱人偷精品视频 | 中文字幕在线观看国产 | 五月色综合| 一区二区欧美精品 | 久久国产精品久久国产精品 | 澳门黄色网 | 国产乱码精品一区二区三区中文 | www精品国产| 久久av红桃一区二区小说 | 欧美综合网站 | 中文在线一区二区三区 | 91在线亚洲 | 狠狠2020| 人人干在线视频 | 一本到在线视频 | 在线看片你懂 | 麻豆传媒网址 | 欧亚在线视频 | 国产一级免费在线观看 | 日韩一级网站 | 少妇高潮久久久 | 三上悠亚ssⅰn939无码播放 | 精品1区2区| 中国吞精videos露脸 | 1769国产 | 波多野结衣欲乱上班族 | 亚洲男女视频在线观看 | 亚洲av永久无码精品三区在线 | 亚洲激情在线播放 | 国产老熟女伦老熟妇露脸 | 日本一区二区不卡在线 | jiuse九色 | 一区二区三区在线播放 | 国模精品视频一区二区 | 香蕉视频免费看 | 日韩在线网 | 亚洲色图图 | 亚洲专区欧美 | 亚洲一级黄色大片 | 在线精品国产 | 欧洲性生活视频 | 国产嫩草在线 | 国产九色sp调教91 | 日本xxxx色| 亚洲少妇一区二区三区 | 日本少妇中出 | 黄色一级片网站 | 中文字幕在线视频免费 | 国产精品无码免费在线观看 | 四虎在线网址 | 亚洲色图制服诱惑 | fc2ppv在线观看 | 综合久久综合久久 | 四虎少妇做爰免费视频网站四 | 欧美 另类 交 | 男人天堂a | 黄色一级网址 | 夜夜嗨av色一区二区不卡 | 国产美女在线免费观看 | 波多野结衣91 | 激情欧美网站 |