欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中快速掌握Data Frame的常用操作

 更新時間:2021年03月31日 09:59:09   作者:Big-Winda  
這篇文章主要介紹了Python中快速掌握Data Frame的常用操作,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

掌握Data Frame的常用操作

一. 查看DataFrame的常用屬性

DataFrame基礎屬性有:values(元素)、index(索引)、columns(列名) 、dtypes(類型)、size(元素個數)、ndim(維度數)和 shape(形狀大小尺寸),還有使用T屬性 進行轉置

import pandas as pd
detail=pd.read_excel('E:\data\meal_order_detail.xlsx') #讀取數據,使用read_excel 函數調用
# print(detail)
print("索引",detail.index)
print("所以 值 :",detail.values)
print("所以列名:",detail.columns)
print("數據類型:",detail.dtypes)
print("元素個數:",detail.size)
print("維度:",detail.ndim)
print("形狀大小 尺寸:",detail.shape)
#使用T屬性 進行轉置
print("轉置前的形狀:",detail.shape)數據
print("轉置后的形狀:",detail.T.shape)

二. 查改增刪DataFrame數據

查看訪問DataFramezhon'的數據
(1.1)DataFrame數據的基本查看方式

#使用字典訪問方式
order_id=detail['order_id']
print("訂單詳情表的order_id的形狀:",order_id.shape)
#使用訪問屬性的方式 
dishes_name=detail.dishes_name
print("訂單詳情表中的dishes_name的形狀:",dishes_name.shape)
#DataFrame 單列多行的數據獲取
dishes_name5=detail['dishes_name'][:5]
print(dishes_name5)
#多列多行數據
orderDish=detail[['order_id','dishes_name']][:5]
print(orderDish)
#訪問多行數據
order5=detail[:][1:6]
print("訂單詳情表中的1~6行元素的數據:\n",order5)

#使用DataFrame的head和tail方法獲取多行數據
print('訂單詳情表中前5行數據:\n',detail.head())#head()里面沒有參數的話,默認為5行
print('訂單詳情表中后5行數據:\n',detail.tail()) #tail()里面沒有參數的話,默認為5行

(1.2) .DataFrame的loc和iloc訪問方式;

dishes_name1=detail.loc[:,'dishes_name'] #DataFrame.loc[行索引名稱或條件,列索引名稱]
print("使用loc提取dishes_name列的size:",dishes_name1.size)
dishes_name2=detail.iloc[:,3] #DataFrame.iloc[行索引位置,列索引位置]
print("使用iloc提取第3列的size:",dishes_name2.size)

#使用loc、iloc 實現多列切片
orderDish1=detail.loc[:,['order_id','dishes_name']]
print(orderDish1.size)
orderDish2=detail.iloc[:,[1,3]]
print(orderDish2.size)
#使用loc、iloc 實現花式切片
print("列名為order_id和dishes_name 的行名為3的數據:\n",detail.loc[3,['order_id','dishes_name']])
print('列名為order_id和dishes_name 行名為2、3、4、5、6的數據為:\n',detail.loc[2:6,['order_id','dishes_name']])
print('列名1和3,行位置為3的數據為:\n',detail.iloc[3,[1,3]]) #這里為什么不可以loc函數,
               #因為loc函數傳入的是列索引的名稱(或行的名稱或條件),而iloc傳入的是位置
print('列位置為1和3,行位置為2,3,4,5,6的數據和:\n',detail.iloc[2:7,[1,3]])#這里是位置索引,7是取不到的
#使用loc和iloc函數實現條件切片
print('detail中order_id為458的dishes_name為:\n',detail.loc[detail['order_id']==458,['order_id','dishes_name']]) #使用了loc
print("detail中order_id為458 的第1、5列的數據為:\n",detail.iloc[(detail['order_id']==458).values,[1,5]])#values 獲取元素 #使用iloc函數

(1.3).ix切片方法

#使用loc、iloc、ix 實現切片 比較(DataFrame.ix[行的索引或位置或條件,列索引名稱和位置])
print('列名為dishes_name行名為2,3,4,5,6的數據為:\n',detail.loc[2:6,['dishes_name']])
print('列位置為5行名為2~6的數據為:\n',detail.iloc[2:6,5])
print('列位置為5行名為2~6的數據為:\n',detail.ix[2:6,5])

2.更改DataFame中的數據

#將order_id為458 的改成 45800
detail.loc[detail['order_id']==458,'order_id'] = 45800 #45800 這里 沒有單引號的
print('更改后detail中的order_id為 458 的:\n',detail.loc[detail['order_id']==458,'order_id'])
print('更改后detail中的order_id為 45800 的:\n',detail.loc[detail['order_id']==45800,'order_id'])
detail.loc[detail['order_id']==45800,'order_id'] = 458

3.為DataFrame增添數據

#新增一列非定值
detail['payment']=detail['counts']*detail['amounts']
print('detail新增列payment的前5行數據為:\n',detail['payment'].head())
#新增一列定值
detail['pay_way']='現金支付'
print('detail新增列的前5行的數據為:\n',detail['pay_way'].head())
``4.刪除某行或某列的數據(drop)
#刪除某列
print('刪除pay_way前 detail中的列索引為:\n',detail.columns)
detail.drop(labels='pay_way',axis=1,inplace=True)
print('刪除pay_way后 detail中的列索引為:\n',detail.columns)
#刪除某幾行
print('刪除1~10行 前 detail的長度:',len(detail))
detail.drop(labels=range(1,11),axis=0,inplace=True)
print('刪除1~10行 后 detail的長度:',len(detail))

三. 描述分析DataFrame數據

1.數值特征的描述性統(tǒng)計
describe()函數描述性統(tǒng)計
2.類別類特征的描述性統(tǒng)計
object類型,categroy類型

到此這篇關于Python中快速掌握Data Frame的常用操作的文章就介紹到這了,更多相關Python Data Frame的常用操作內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Xadmin+rules實現多選行權限方式(級聯效果)

    Xadmin+rules實現多選行權限方式(級聯效果)

    這篇文章主要介紹了Xadmin+rules實現多選行權限方式(級聯效果),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python使用random和tertools模塊解一些經典概率問題

    Python使用random和tertools模塊解一些經典概率問題

    這篇文章主要介紹了Python使用random和tertools模塊解一些經典概率問題,本文講解了使用random和tertools模塊解羊車門問題、撲克牌問題、生日悖論等經典概率問題,需要的朋友可以參考下
    2015-01-01
  • 基于Python實現船舶的MMSI的獲取(推薦)

    基于Python實現船舶的MMSI的獲取(推薦)

    工作中遇到一個需求,需要通過網站查詢船舶名稱得到MMSI碼,網站來自船訊網。這篇文章主要介紹了基于Python實現船舶的MMSI的獲取,需要的朋友可以參考下
    2019-10-10
  • window環(huán)境pip切換國內源(pip安裝異常緩慢的問題)

    window環(huán)境pip切換國內源(pip安裝異常緩慢的問題)

    這篇文章主要介紹了window環(huán)境pip切換國內源(pip安裝異常緩慢的問題),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • ubuntu安裝jupyter并設置遠程訪問的實現

    ubuntu安裝jupyter并設置遠程訪問的實現

    Jupyter?Notebook是Ipython的升級版,而Ipython可以說是一個加強版的交互式Shell,本文主要介紹了ubuntu安裝jupyter并設置遠程訪問的實現,感興趣的可以了解一下
    2022-03-03
  • Python3.6實現帶有簡單界面的有道翻譯小程序

    Python3.6實現帶有簡單界面的有道翻譯小程序

    本文通過實例代碼給大家介紹了基于Python3.6實現帶有簡單界面的有道翻譯小程序,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧
    2019-04-04
  • 在Python的Django框架中為代碼添加注釋的方法

    在Python的Django框架中為代碼添加注釋的方法

    這篇文章主要介紹了在Python的Django框架中為代碼添加注釋的方法,需要的朋友可以參考下
    2015-07-07
  • Python中的變量和作用域詳解

    Python中的變量和作用域詳解

    這篇文章主要介紹了Python中的變量和作用域詳解的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-07-07
  • tkinter如何實現label超鏈接調用瀏覽器打開網址

    tkinter如何實現label超鏈接調用瀏覽器打開網址

    這篇文章主要介紹了tkinter如何實現label超鏈接調用瀏覽器打開網址問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Python的pandas類庫結構參數

    Python的pandas類庫結構參數

    pandas是基于NumPy 的一種工具,該工具是為了解決數據分析任務而創(chuàng)建的,Pandas 納入了大量庫和一些標準的數據模型,提供了高效地操作大型數據集所需的工具,需要的朋友可以參考下
    2023-07-07

最新評論