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

歡迎訪問 生活随笔!

生活随笔

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

python

python dataframe删除某一列_怎样用Python进行数据分析

發布時間:2024/10/14 python 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python dataframe删除某一列_怎样用Python进行数据分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文總結了猴子Live課程:怎樣用Python進行數據分析,主講內容包括Numpy和Pandas。

一、一維數據分析

一維數據分析,可以使用Numpy中Array,也可以使用Pandas中的Series,Series的功能會更多些。

Numpy一維數組的使用:

Numpy一維數組與Python列表的區別?--Numpy具有統計功能、向量化計算,Numpy數組中的數據類型必須是一致的,Python列表可以存儲不同的數據類型。

Pandas一維數組的使用:

Pandas的Series可以創建索引,可以使用describe獲取描述性統計信息

Pandas的Series獲取數據有兩種方式,iloc根據元素位置獲取值,loc根據索引獲取值

Pandas - Series支持向量相加,可以使用+號和add,add支持缺失值填充

二、二維數據分析

Numpy中通過Array創建二維數組,Pandas中通過DataFrame創建二維數組,數據框DataFrame更加廣泛。

Numpy二維數組:如何定義二維數組、3種獲取元素的情況

Numpy數軸參數,指定按照某一行或者某一列進行計算

DataFrame二維數組:

DataFrame相對于Numpy二維數組的優勢:

  • DataFrame每一列可以是不同的數據類型
  • DataFrame每一行每一列都有一個索引值,很容易存儲常見的表格數據

DataFrame 的創建和使用,學會使用iloc按照位置查詢數據,loc按照索引查詢數據,通過列表查詢某幾列數據,通過切片查詢數據,以及通過條件判斷篩選數據。

DataFrame:數據集描述性統計信息

三、通過案例學習數據分析步驟

數據分析步驟:提出問題、理解數據、數據清洗、構建模型、數據可視化

提出問題:一切的數據分析都是為了解決我們工作或生活中的問題,明確的問題為我們后面的數據分析提供了一個大的目標。

理解數據:根據我們的問題采集數據,將數據導入到數據框中,查看數據集的信息,從整體上了解數據。

數據清洗:對數據進行清洗,很多數據并不符合我們的標準。

構建模型:簡單的分析是得到某些業務的指標,復雜的分析需要用到機器學習的算法。

數據可視化:與他人交流自己的數據結果,最好的方式就是使用圖表。

案例過程:

1. 提出問題:某醫院銷售數據,需要獲取月均消費次數、月均消費金額、客單價、消費趨勢

理解每個業務指標的含義,實際項目中,前期我們需要和業務人員一起討論明確他們的需求,各個指標的計算公式

2. 理解數據

#1.讀取Excel數據(統一按str讀入,之后轉換) fileNameStr='./醫院銷售數據.xlsx' xls=pd.ExcelFile(fileNameStr, dtype='object') salesDf=xls.parse('Sheet1',dtype='object') #2.打印前幾行 salesDf.head() #3.查看有多少行多少列 salesDf.shape() #4.查看列的數據類型 salesDf.dtypes

3. 數據清洗

數據清洗步驟:

  • 選擇子集
  • 列名重命名
  • 缺失數據處理
  • 數據類型轉換
  • 數據排序
  • 異常值處理
#1.選擇子集 subSalesDf=salesDf.loc[0:4,'購藥時間':'銷售數據'] #2.列名重命名 colNameDict=['購藥時間':'銷售時間'] subSalesDf.rename(columns=colNameDict,inplace=True) #3.缺失數據處理,刪除指定列中為空的行, #how='any'在給定的任何一列中有缺失值就刪除 subSalesDf.dropna(subset=['銷售時間','社保卡號'],how='any'] #4.數據類型轉換,字符串轉化為數值 subSalesDf['銷售數量']=subSalesDf['銷售數量'].astype('float') subSalesDf['應收金額']=subSalesDf['應收金額'].astype('float') subSalesDf['實收金額']=subSalesDf['實收金額'].astype('float') #處理日期,字符串分割split,定義一個分割日期的函數 ''' 定義函數:分割銷售時間,獲取銷售日期 輸入:timeSereis銷售時間這一列,是個Series數據類型 輸出:分割后的時間,返回也是個Sereis數據類型 ''' def splitSaletime(timeSeries): timeList=[]for value in timeSeries:#分割字符串,獲取銷售日期dateStr=value.split('')[0]timeList.append(dateStr)#將列表轉行為一維數據Series類型timeSeries=pd.Sereis(timeList)return timeSeries #獲取銷售時間這一列,對字符串進行分割獲取銷售日期 timeSeries=subSalesDf.loc[:,'銷售時間'] dateSeries=splitSaletime(timeSeries) #修改銷售時間這一列的值 subSalesDf.loc[:,'銷售時間']=dateSeries #字符串轉日期 subSalesDf.loc[:,'銷售時間']=pd.to_datetime(subSalesDf.loc[:,'銷售時間'],format='%Y-%m-%d',errors='coerce') #轉化日期過程中不符合日期格式的數值會被轉化為控制None,刪除為空的行 subSalesDf.dropna(subset=['銷售時間'],how='any'] #5.數據排序,按銷售日期進行升序排序 subSalesDf=subSalesDf.sortvalues(by='銷售時間',ascending=True) #重命名行名(index) subSalesDf=subSalesDf.reset_index(drop=True) #6.異常值處理 #每一列的描述性統計信息 subSalesDf.describe() #刪除異常值:通過條件判斷篩選出數據 #查詢條件 querySeries=subSalesDf.loc[:,'銷售數據']>0 #應用查詢條件 subSalesDf=subSalesDf.loc[querySeries,:]

4. 構建模型

總結

以上是生活随笔為你收集整理的python dataframe删除某一列_怎样用Python进行数据分析的全部內容,希望文章能夠幫你解決所遇到的問題。

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