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

Pandas數(shù)據(jù)操作分析基本常用的15個(gè)代碼片段

 更新時(shí)間:2023年09月04日 11:13:14   作者:deephub  
這篇文章主要介紹了Pandas數(shù)據(jù)操作分析基本常用的15個(gè)代碼片段,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

引言

Pandas提供了強(qiáng)大的數(shù)據(jù)操作和分析功能,是數(shù)據(jù)科學(xué)的日?;竟ぞ?。在本文中,我們將介紹最常用的15個(gè)Pandas代碼片段。這些片段將幫助簡(jiǎn)化數(shù)據(jù)分析任務(wù),從數(shù)據(jù)集中提取有價(jià)值的見(jiàn)解。

1、過(guò)濾數(shù)據(jù)

Pandas提供了多種方法來(lái)過(guò)濾數(shù)據(jù)。

import pandas as pd
 # Create a DataFrame
 data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],
         'Age': [25, 30, 35, 40]}
 df = pd.DataFrame(data)
 # Filter rows where Age is greater than 30
 filtered_df = df[df['Age'] > 30]
 print(filtered_df)

2、分組和聚合數(shù)據(jù)

# Grouping by a column and calculating the mean
 grouped = df.groupby('Age').mean()
 print(grouped)

3、數(shù)據(jù)缺失值

# Check for missing values
 missing_values = df.isnull().sum()
 # Fill missing values with a specific value
 df['Age'].fillna(0, inplace=True)

4、將函數(shù)應(yīng)用于列

apply()函數(shù)允許在 DataFrame 的行或列上應(yīng)用自定義函數(shù),以實(shí)現(xiàn)更復(fù)雜的數(shù)據(jù)處理和轉(zhuǎn)換操作。

df['Age'] = df['Age'].apply(lambda x: x * 2)

5、連接DataFrames

這里的連接主要是行的連接,也就是說(shuō)將兩個(gè)相同列結(jié)構(gòu)的DataFrame進(jìn)行連接

# Concatenate two DataFrames
 df1 = pd.DataFrame({'A': ['A0', 'A1'], 'B': ['B0', 'B1']})
 df2 = pd.DataFrame({'A': ['A2', 'A3'], 'B': ['B2', 'B3']})
 result = pd.concat([df1, df2], ignore_index=True)
 print(result)

6、合并DataFrames

這里的合并指的是列的合并,也就是說(shuō)根據(jù)一個(gè)或若干個(gè)相同的列,進(jìn)行合并

# Merge two DataFrames
 left = pd.DataFrame({'key': ['A', 'B', 'C'], 'value': [1, 2, 3]})
 right = pd.DataFrame({'key': ['B', 'C', 'D'], 'value': [4, 5, 6]})
 
 merged = pd.merge(left, right, on='key', how='inner')
 print(merged)

7、數(shù)據(jù)透視表

pivot_table是用于數(shù)據(jù)透視的重要函數(shù)之一。它根據(jù)一個(gè)或多個(gè)列的值對(duì)數(shù)據(jù)進(jìn)行重新排列和匯總,以便更好地理解數(shù)據(jù)的結(jié)構(gòu)和關(guān)系。

# Creating a pivot table
 pivot_table = df.pivot_table(index='Name', columns='Age', values='Value')
 print(pivot_table)

8、處理時(shí)間/日期類型數(shù)據(jù)

# Converting a column to DateTime
 df['Date'] = pd.to_datetime(df['Date'])

9、數(shù)據(jù)重塑

pandas.melt()是用于將寬格式(wide format)的數(shù)據(jù)表格轉(zhuǎn)換為長(zhǎng)格式(long format)。這個(gè)函數(shù)通常用于數(shù)據(jù)重塑(data reshaping)操作,以便更容易進(jìn)行數(shù)據(jù)分析和可視化。

pandas.melt(frame, id_vars=None, value_vars=None, var_name=None, value_name='value', col_level=None)

參數(shù)說(shuō)明:

  • frame:要進(jìn)行重塑操作的數(shù)據(jù)表格(DataFrame)。
  • id_vars:需要保留的列,它們將成為長(zhǎng)格式中的標(biāo)識(shí)變量(identifier variable),不被"融化"。
  • value_vars:需要"融化"的列,它們將被整合成一列,并用新的列名表示。
  • var_name:用于存儲(chǔ)"融化"后的列名的新列的名稱。
  • value_name:用于存儲(chǔ)"融化"后的值的新列的名稱。
  • col_level:如果輸入數(shù)據(jù)是多級(jí)索引(MultiIndex),則可以指定在哪個(gè)級(jí)別上應(yīng)用"融化"操作。

下面是一個(gè)示例,演示如何使用

melt()函數(shù)將寬格式數(shù)據(jù)轉(zhuǎn)換為長(zhǎng)格式,假設(shè)有以下的寬格式數(shù)據(jù)表格

df:

ID  Name  Math  English  History
 0   1   Amy    90       85       88
 1   2   Bob    78       92       76
 2   3  John    88       79       90

我們要將 Math、English 和History列"融化"為一個(gè)長(zhǎng)格式數(shù)據(jù)表格,可以這樣做:

melted_df=pd.melt(df, id_vars=['ID', 'Name'], value_vars=['Math', 'English', 'History'], var_name='Subject', value_name='Score')

轉(zhuǎn)換后的長(zhǎng)格式數(shù)據(jù)表格

melted_df

如下所示:

ID  Name  Subject  Score
 0   1   Amy     Math     90
 1   2   Bob     Math     78
 2   3  John     Math     88
 3   1   Amy  English     85
 4   2   Bob  English     92
 5   3  John  English     79
 6   1   Amy  History     88
 7   2   Bob  History     76
 8   3  John  History     90

通過(guò)這種方式,你可以將寬格式數(shù)據(jù)表格中的多列數(shù)據(jù)整合到一個(gè)列中,以更容易進(jìn)行分析、可視化或其他操作。

melt()函數(shù)在數(shù)據(jù)清洗和轉(zhuǎn)換階段非常有用。

melt()或者可以理解為上面pivot_table或者unstack的反操作。

10、分類數(shù)據(jù)

astype('category')是用于將一列數(shù)據(jù)類型轉(zhuǎn)換為分類(Category)類型的方法。將數(shù)據(jù)列轉(zhuǎn)換為分類類型有助于節(jié)省內(nèi)存和提高性能,特別是當(dāng)數(shù)據(jù)列中包含有限的不同取值時(shí)。

# Encoding categorical variables
 df['Category'] = df['Category'].astype('category')
 df['Category'] = df['Category'].cat.codes

11、數(shù)據(jù)抽樣

# Randomly sample rows from a DataFrame
 sampled_df = df.sample(n=2)

12、計(jì)算累加和

# Calculating cumulative sum
 df['Cumulative_Sum'] = df['Values'].cumsum()

13、刪除重復(fù)的數(shù)據(jù)

# Removing duplicate rows
 df.drop_duplicates(subset=['Column1', 'Column2'], keep='first', inplace=True)

14、創(chuàng)建虛擬變量

pandas.get_dummies()是 Pandas 中用于執(zhí)行獨(dú)熱編碼(One-Hot Encoding)的函數(shù)。

# Creating dummy variables for categorical data
 dummy_df = pd.get_dummies(df, columns=['Category'])

15、數(shù)據(jù)導(dǎo)出

有很多個(gè)to方法,可以到導(dǎo)出不同的格式

# Exporting DataFrame to CSV
 df.to_csv('output.csv', index=False)

總結(jié)

以上這15個(gè)Pandas代碼片段是我們?nèi)粘W畛S玫臄?shù)據(jù)操作和分析操作。熟練的掌握它,并將它們合并到工作流程中,可以提高處理和探索數(shù)據(jù)集的效率和效果。

以上就是Pandas數(shù)據(jù)操作分析基本常用的15個(gè)代碼片段的詳細(xì)內(nèi)容,更多關(guān)于Pandas數(shù)據(jù)操作代碼的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python實(shí)現(xiàn)學(xué)生通訊錄管理系統(tǒng)

    python實(shí)現(xiàn)學(xué)生通訊錄管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)學(xué)生通訊錄管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-02-02
  • Python列表中存放字典遇到的問(wèn)題及處理

    Python列表中存放字典遇到的問(wèn)題及處理

    這篇文章主要介紹了Python列表中存放字典遇到的問(wèn)題及處理,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • python?super()函數(shù)的詳解

    python?super()函數(shù)的詳解

    這篇文章主要為大家介紹了python?super()函數(shù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-11-11
  • python mysql項(xiàng)目實(shí)戰(zhàn)及框架搭建過(guò)程

    python mysql項(xiàng)目實(shí)戰(zhàn)及框架搭建過(guò)程

    本文給大家分享python mysql項(xiàng)目實(shí)戰(zhàn)框架搭建過(guò)程,通過(guò)實(shí)例代碼給大家講解python mysql項(xiàng)目實(shí)戰(zhàn)的相關(guān)知識(shí),需要的朋友參考下吧
    2021-06-06
  • django上傳文件的三種方式

    django上傳文件的三種方式

    本章將介紹Django上傳處理文件中需要考慮的重要事項(xiàng),并提供通過(guò)自定義表單和ModelForm上傳文件的示范代碼(附GitHub地址)。如果你的項(xiàng)目中需要用到文件上傳,你可以從本文中獲得靈感,簡(jiǎn)化你的開(kāi)發(fā)。
    2021-04-04
  • opencv python如何實(shí)現(xiàn)圖像二值化

    opencv python如何實(shí)現(xiàn)圖像二值化

    這篇文章主要介紹了opencv python如何實(shí)現(xiàn)圖像二值化,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • python實(shí)現(xiàn)用類讀取文件數(shù)據(jù)并計(jì)算矩形面積

    python實(shí)現(xiàn)用類讀取文件數(shù)據(jù)并計(jì)算矩形面積

    今天小編就為大家分享一篇python實(shí)現(xiàn)用類讀取文件數(shù)據(jù)并計(jì)算矩形面積,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • Python全局變量操作詳解

    Python全局變量操作詳解

    這篇文章主要介紹了Python全局變量操作詳解,本文總結(jié)了兩種使用全局變量的方式,需要的朋友可以參考下
    2015-04-04
  • Python中的zipfile模塊使用詳解

    Python中的zipfile模塊使用詳解

    這篇文章主要介紹了Python中的zipfile模塊使用詳解,zipfile模塊是用來(lái)操作zip文件,需要的朋友可以參考下
    2015-06-06
  • 用Anaconda安裝本地python包的方法及路徑問(wèn)題(圖文)

    用Anaconda安裝本地python包的方法及路徑問(wèn)題(圖文)

    這篇文章主要介紹了用Anaconda安裝本地python包的方法及路徑問(wèn)題,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07

最新評(píng)論