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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python pandas dataframe基本使用整理

發布時間:2023/11/30 python 63 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python pandas dataframe基本使用整理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

dataframe是一種表格型的數據存儲結構,可以看作是幾個serie的集合。dataframe既有行索引,也有列索引。
以下代碼環境為google colab/jupyter notebook。
接下來就對dataframe的基本使用進行整理。
dataframe也從屬于pandas模塊,因此還是老規矩,先import pandas。

import pandas as pd import numpy as np

1. dataframe的創建

dataframe的創建有很多方法,下面列舉了幾種主要的創建方法。

a. 通過numpy ndarray創建dataframe

在創建dataframe時,可以自定義行索引index和列索引columns。

arr = np.random.randn(6,4) index_rows = pd.date_range('today', periods=6) index_columns = ['A','B','C','D'] dataframe1 = pd.DataFrame(arr,index=index_rows,columns=index_columns) dataframe1

運行結果:

b. 通過字典dictionary創建dataframe

data = {'country': ['China','Japan','France'],'capital': ['Beijing','Tokyo','Paris'],'population' : [1400000000, 16000000, 60000000]} index = np.array([1,2,3]) dataframe2 = pd.DataFrame(data,index=index) dataframe2 # 字典中每個鍵對應每一列的列標

運行結果:

2.dataframe的基本操作

a.使用head/tail取dataframe中前n行或后n行

dataframe2.head(2) #使用head取dataframe中的前n行

運行結果 :

dataframe2.tail(2) #使用tail取dataframe中的后n行

運行結果:

b. 獲取dataframe的統計學屬性

dataframe2.describe()

運行結果 :

c. 翻轉dataframe的行與列

dataframe2.T

運行結果 :

d. 排序

dataframe2.sort_values(by='population') # 升序排列 對一整行都進行移動變換

運行結果 :

e. 切片

dataframe2[0:2] # [0,2)包括前不包括后,例子中就是輸出第0行和第1行

運行結果 :

f. 通過列名tag查詢

dataframe2[['country','population']] #只顯示country和population兩列,如果想要存儲在另外一個dataframe中只需要用賦值語句

運行結果 :

g. 備份dataframe

使用dataframe的copy方法對dataframe進行備份。使用copy方法的好處是,兩個dataframe是完全分開的,改變其中一個的任何屬性都不會對另外一個dataframe造成影響。而如果使用賦值語句進行備份,兩個dataframe實際是完全相連的,任意改變其中一個dataframe的屬性都會對兩者進行同時改變。
例如在下面的例子中,我們使用copy方法,備份dataframe2在dataframe3中并改變dataframe3的行索引,我們會發現dataframe2沒有因此和dataframe3同步變化。

dataframe3 = dataframe2.copy() dataframe3.index = ['a','b','c'] print(dataframe2) print(dataframe3)

運行結果:

使用賦值語句進行備份,兩個dataframe會進行同步變化。
例如這里我們使用賦值語句后,改變dataframe3的行索引,dataframe2的行索引也同步改變了。

dataframe3 = dataframe2 dataframe3.index = ['a','b','c'] print(dataframe2)

運行結果 :

h.使用loc對指定位置的數值進行操作

dataframe3.loc['c','population'] = np.nan #可以對指定位置的數值進行操作 dataframe3

運行結果 :

i. 對dataframe中未定義的值進行操作

df4.fillna(500000) # 給所有未定義的數值賦值

運行結果 :

df5 = dataframe3.copy() df5.dropna(how='any') # 刪除有nan未定義數值的一行

運行結果 :

df5 = dataframe3.copy().T # 如果我們transpose翻轉這個dataframe 就會將population這一行整個刪去 df5.dropna(how='any')

運行結果 :

3. dataframe的文件操作

dataframe可以對csv文件,xlsx文件,txt等文件進行讀寫操作。

dataframe3.to_csv('country_count.csv') # 將dataframe寫入csv文件 # 可以在括號中使用絕對路徑調整文件生成的位置 默認位置為當前文件夾下生成 df_country = pd.read_csv('country_count.csv',index_col=None) # 讀取csv文件 dataframe3.to_excel('country_count.xlsx',sheet_name='sheet1')# 將dataframe寫入excel表格 dataframe_fromexcel = pd.read_excel('country_count.xlsx',sheet_name='sheet1',index_col=None)# 讀取excel表格

4. dataframe的可視化

%matplotlib inline df = pd.DataFrame(np.random.randn(50,4),index=pd.date_range('today',periods=50),columns=['A','B','C','D']) df.cumsum() df.plot()

運行結果 :

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的python pandas dataframe基本使用整理的全部內容,希望文章能夠幫你解決所遇到的問題。

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