日韩性视频-久久久蜜桃-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?的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 欧美精品网址 | 激情天天| 久久99色 | 一本久草 | 校园春色自拍偷拍 | 免费a级片在线观看 | 国产三级在线免费观看 | 无人在线观看的免费高清视频 | 偷自在线 | 大陆av片| 在线观看中文字幕一区 | 激情亚洲色图 | 粉嫩一区 | 新亚洲天堂 | av在线视 | 日本高清视频在线播放 | 国产精品人妻 | 涩涩视频在线看 | 久久精品99久久久久久 | 亚洲人成影视 | 久操视频在线播放 | 91超薄丝袜肉丝一区二区 | 中文字幕一区二区三区乱码 | 国产51视频 | 爱情岛论坛永久入址测速 | 看黄网站在线观看 | 国产精品jizz在线观看美国 | 精品国产一区二区三区久久久久久 | 成人av在线网 | 亚洲成人黄色网址 | 久操视频免费看 | 国内精品久久久久久久影视简单 | 中文字幕人妻精品一区 | 成人观看网站 | 国产精品99无码一区二区视频 | 国产福利一区二区视频 | 久久亚洲精华国产精华液 | 日韩精品第三页 | 午夜爽爽影院 | 午夜宫 | 国产视频污 | 亚洲视频中文字幕在线观看 | 在线香蕉 | 欧美精品一二三区 | 国产三级a| 亚洲另类春色 | 四虎一国产精品一区二区影院 | www婷婷av久久久影片 | 亚洲视频www| 日韩1页| 男女av网站 | 日韩资源在线观看 | 写真福利片hd在线播放 | 中文字幕在线播放一区二区 | 国产成人综合网 | 日欧一级片 | 三级网站免费看 | 国产黄片一区二区三区 | 中文字幕av亚洲精品一部二部 | 777国产成人入口 | 久久人人爽爽人人爽人人片av | 噼里啪啦免费看 | 正在播放超嫩在线播放 | 久久精品国产成人av | 欧美视频免费在线 | 好吊色这里只有精品 | 国产aaaaaa| 美女被男人c | 大地资源高清播放在线观看 | 日本老太婆做爰视频 | 波多野结衣先锋影音 | 美女免费福利视频 | 女人张开双腿让男人捅 | 天天干天天插 | 成人性生活免费视频 | 午夜久久 | 久久奇米| 精品在线视频播放 | 最近最经典中文mv字幕 | 日韩经典av | 阿v视频在线免费观看 | 另类专区亚洲 | 精品久久久久久久久久久久 | 五月天激情啪啪 | 成人免费在线观看网站 | 一区在线不卡 | 天天久久久 | 国产精品毛片一区二区 | 伊人精品国产 | 午夜精品极品粉嫩国产尤物 | 最色网站| 一区二区在线视频免费观看 | 日本黄色高清 | av一卡二卡 | 99精品久久久久久久婷婷 | 天天添天天射 | 女女爱爱视频 | 国产一区二区影院 | 欧美精品一线 |