日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

Pandas庫專為數據分析而設計,它是使Python/ target=_blank class=infotextkey>Python成為強大而高效的數據分析環境的重要因素。它提供了多種數據結構和方法來處理和分析數據。

 

下面是一些Pandas常用方法的使用總結。

1. 創建數據框

使用read_csv()或read_Excel()方法讀取數據文件,也可以使用DataFrame()方法從列表或字典創建數據幀。例如,通過以下方式創建數據框:

import pandas as pd
df = pd.read_csv('example.csv')
# or
df = pd.read_excel('example.xlsx')
# or
df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 32, 18]})

2. 查看數據

使用head()和tAIl()方法查看前幾行或后幾行數據。可以使用describe()方法獲取數據的描述性統計信息,例如最大值、最小值、平均值和標準差等。

# 查看前5行數據
print(df.head())
# 查看后5行數據
print(df.tail())
# 查看數據的描述性統計信息
print(df.describe())

3. 索引和選擇數據

可以使用loc[]和iloc[]方法對數據進行索引和選擇。loc[]方法基于標簽選擇數據,而iloc[]方法基于行和列的位置選擇數據,例如:

# 選擇行和列:
df.loc[0, 'name']
df.iloc[0, 1]
# 選擇行:
df.loc[0]
df.iloc[0]
# 選擇列:
df['name']

4. 操作數據

Pandas提供了很多數據操作方法,例如,可以使用mean()方法計算列的平均值,使用corr()方法計算列之間相關性并使用drop()方法刪除某些列或行。

# 計算列的平均值
df['age'].mean()
# 計算列之間的相關性
df.corr()
# 刪除某些列或行
df.drop('age', axis=1)
df.drop(0)

5. 處理缺失值

Pandas提供了方法來處理缺失值,例如可以使用isnull()檢查失值并使用fillna()方法填充缺失值。

# 檢查缺失值
df.isnull()
# 填充缺失值
df.fillna(0)

6. 分組和聚合

可以使用groupby()方法將數據按照某些列進行分組,然后使用聚合函數計算列的值。

# 分組和聚合
df.groupby('name').mean()

7. 繪制圖表

Pandas提供了很多繪制圖表的函數,例如plot()方法可以繪制線圖、散點圖和條形圖等。

# 繪制線圖
df.plot(x='name', y='age')
# 繪制散點圖
df.plot.scatter(x='name', y='age')
# 繪制條形圖
df.plot.bar(x='name', y='age')

8. 排序和排名

使用sort_values()方法對數據進行排序,可以按照某一列的值進行升序或降序排列。使用rank()方法進行排名,將所有的數據按照某一列的值進行排名,例如:

# 按age列進行升序排列
df.sort_values('age', ascending=True)
# 按age列進行降序排列
df.sort_values('age', ascending=False)
# 對age進行排名
df['rank'] = df['age'].rank(method='dense')

9. 數據重塑

使用pivot()和melt()方法進行數據重塑。pivot()方法可以將長格式的數據框轉化為寬格式,而melt()方法可以將寬格式的數據框轉化為長格式,例如:

# 將長格式的數據框轉化為寬格式
df.pivot(index='name', columns='subject', values='score')
# 將寬格式的數據框轉化為長格式
df.melt(id_vars=['name', 'age'], var_name='subject', value_name='score')

10. 時間序列數據處理

Pandas提供了多種方法來處理時間序列數據,例如可以使用to_datetime()方法將字符串轉化為日期格式,使用resample()方法對時間序列進行重采樣,例如:

# 將字符串轉化為日期格式
df['date'] = pd.to_datetime(df['date'], formatYmd')
# 對時間序列進行重采樣
df.resample('D').sum()

 

11. 縮減內存占用

Pandas中如果數據集很大,占用的內存可能也會很大,可以使用astype()方法將一些整型或浮點型的列轉化為較小的數據類型來減少內存占用,例如:

# 將age列從int64轉化為int32
df['age'] =['age'].astype('int32')
# 將score列從float64轉化為float32
df['score'] = df['score'].astype('float32')

12. 數據分析和統計

Pandas提供了多種方法來進行數據析和統計,例如可以使用value_counts()方法計算某一列中數值出現的次數,使用cut()方法對一維的連續數據進行離散化,例如:

# 計算name列中每個值出現的次數
df['name'].value_counts()
# 對age列進行等距離分割
df['age_cut'] = pd.cut(df['age'], 3)

13. 文本數據處理

Pandas提供了多種方法來處理文本數據,例如可以使用str()方法來訪問字符串中的子串或使用正則表達式來匹配字符串,例如:

# 訪問name列中的子串
df['name'].str[0:3]
# 查找name列中包含字母'c'的行
df[df[''].str.contains('c')]

14. 數據透視表

在數據分析中,有時需要統計匯總數據,并按照某些列進行分組統計匯總,Pandas中提供了數據透視表功能來實現上述需求。例如:

pivot_df = df.pivot_table(values='score', index='gender', columnssubject', aggfunc=np.mean)

在這個例子中,我們用pivot_table()方法將原始數據框df按照subject列和gender列進行分組,并求出每個分組的平均值,最后返回一個新的數據框pivot_df。

15. 數據讀寫

可以使用to_csv()方法數據框寫入CSV文件,使用to_excel()方法將數據框寫入Excel文件,使用read_sql()方法從數據庫中讀取數據,例如:

# 將數據框寫入CSV文件
df.to_csv('example.csv', index=False)
# 將數據框寫入Excel文件
df.to_excel('example.xlsx', index=False)
# 從數據庫中讀取數據
import sqlite3
conn = sqlite3.connect('example.db')
df = pd.read_sql('select * from table1', conn)

16. 編碼和解碼數據

Pandas提供了多種方法來進行編碼和解碼數據,例如可以使用get_dummies()方法對某一列進行獨熱編碼,使用factorize()方法將一個類別列編碼為數值列,例如:

# 對gender列進行獨熱編
df = pd.get_dummies(df, columns=['gender'])
# 將gender列編碼為數值列
df['gender_code'] = pd.factorize(df['gender'])[0]

17. 數據采樣

當數據量很大時,可以對數據進行采樣進行快速處理。Pandas中提供了sample()方法,可以從數據框中隨機抽取指定數量的行或占總行數的百分比進行采樣,例如:

# 從df中隨機抽取10行進行采樣
sample_df = df.sample(n=10)
# 從df中隨機抽取10的行進行采樣
sample_df = df.sample(frac=0.1)

18. 數據重塑

在進行數據分析和處理時,有時需要對數據進行重塑,以便于進行后續的操作。Pandas提供了一些方法來進行數據重塑,例如:

  • 將長格式數據重塑為寬格式數據:使用pivot()方法
  • 將寬格式數據重塑為長格式數據:使用melt()方法

例子:

# 將長格式數據重塑為寬格式數據
df.pivot(index='date', columns='gender', values='score')
# 將寬格式數據重塑為長格式數據
df.melt(id_vars='date', value_vars=['math_score', 'biology_score', 'english_score'])

19. 多級索引

多級索引可以幫助我們處理多維數據,常見的多級索引實現方式為層次化索引。Pandas中使用MultiIndex()方法創建多級索引,例如:

# 創建一個擁有兩層索引的數據框
df = pd.DataFrame(np.random.randint(10, size=(6,2)), index=[['A', 'A', 'B', 'B', 'C', 'C'], ['X', 'Y', 'X', 'Y', 'X', 'Y']], columns=['col_1', 'col_2'])
# 將數據框按照第一層索引進行排序
df = df.sort_index(level=0)

20. 時間序列數據重采樣

Pandas中提供了一些方法用來對時間序列數據進行重采樣,例如:

  • 將高頻率數據降采樣到低頻率:使用resample()方法
  • 將低頻率數據升采樣到高頻率:使用asfreq()方法

例子:

# 將按月的數據框重采樣到按季度
df.resample('Q').sum()
# 將按年的數據框升采樣到按半年
df.asfreq('6M')

同時,Pandas中也提供了各種方便的時間序列函數,例如計算均值、最大值、最小值、求和等,例如:

# 計算按周采樣的均值
df.resample('W').mean()
# 計算按季度采樣的最大值
df.resample('Q').max()
# 計算按年采樣的最小值
df.resample('Y').min()

21. 用Apply函數實現對數據的自定義處理

Pandas中,我們可以使用apply()方法將一個函數作用于數據框中所有的行或者列上,實現對數據的自定義處理。例如,我們定義一個函數對每一行進行處理:

def process_data(row):
    # 處理數據的邏輯
    return processed_row

# 對每一行進行
df.apply(process_data, axis=1)

在apply()方法中,axis參數可以設置為0表示對每一列進行處理,設置為1表示對每一行進行處理。同時,我們還可以用map()方法和applymap()方法對數據框中每一個元素進行處理:

# 對某一列進行映射處理
df['type'] = df['type'].map({'A': 0, 'B': 1, 'C': 2})
# 對整個數據框進行元素級別的處理
df.applymap(lambda x: x**2)

22. 用groupby和apply函數實現分組自定義處理

除了可以用groupby()方法按照某些列進行分組之外,apply()方法也可以和groupby()方法組合使用,實現對每個分組進行自定義處理。例如:

# 對每個分組進行自定義處理
def process_group(group):
    # 處理分組的邏輯
    return processed_group

df.groupby('gender').apply(process_group)

在這個例子中,我們定義了process_group()函數來處理每個分組,在groupby()方法中設置按gender列進行分組,然后將每個分組別傳遞到process_group()函數中進行處理。處理結果將組合在一起成為一個新的數據框。

23. 用pd.merge函數實現數據合并

在數據分析中,有時我們需要將多個數據源的數據合并到一個數據框中進行處理,Pandas中提供了pd.merge()函數來實現數據合并。例如,我們可以通過下列代碼將兩數據框按照一些列的共同特征進行合并:

merged_df = pd.merge(df1, df2, on='id')

在這個例子中,我們將df1和df2通過共同列id進行合并,并將合并結果存儲在merged_df數據框中。

24. 用pd.concat函數實現數據拼接

除了用pd.merge()函數合并數據框之外,Pandas中還提供了pd.concat()函數來實現數據拼接的功能。pd.concat()函數可以將多個數據框沿著某個軸進行連接,例如:

concatenated_df = pd.concat([df1, df2], axis=0)

在這個例子中,我們將df1和df2沿著橫軸連接,并將連接結果存儲在concatenated_df中,其中axis的取值為0表示沿著縱軸進行連接,取值為1表示沿著橫軸連接。

25. 獲取唯一值

unique是Pandas中的一個方法,用于返回一個數組中唯一值的集合,并按照出現的順序排序。該方法可用于Series和DataFram中的列。

例如,對于以下的Series:

import pandas as pd
s = pd.Series([2, 1, 3, 3, 2, 1, 4])

使用unique方法可以返回Series中的唯一值:

s.unique()

輸出結果為:

array([2, 1, 3, 4])

26. 對表中的所有數據執行相同函數運算

applymap是Pandas中DataFrame對象的方法之一,它類似于apply方法,都可以用于對數據進行函數映射操作,但是applymap方法是作用于DataFrame中的所有元素,而不是apply方法作用于一列或一行。

例如,我們有一個包含幾個人的信息的DataFrame:

import pandas as pd
df =.DataFrame({'name': ['Alice', 'Bob', 'Charlie'],
                   'age': [25, 30, 35],
                   'height': [1.62, 1.78, 1.72]})

我們可以使用applymap方法將所有元素乘以2:

df.applymap(lambda x: x * 2)

輸出結果為:

       name  age  height
0  AliceAlice   50    3.24
1    BobBob    60    3.56
2  CharlieCharlie  70    3.44

注意到,因為name這一列的元素是字符串,所以applymap將函數應用到了每個字符上,而不是對整個字符串進行乘法操作。

applymap方法也可以傳入自定義函數:

def format_age(age):
    return f"Age: {age}"

df.applymap(format_age)

輸出結果為:

           name           age          height
0  Age: Alice   Age: 25       Age: 1.621  Age: Bob     Age: 30       Age: 1.78
2  Age: Charlie Age: 35       Age: 1.72

在上面的例子中,我們將函數應用到了每一個單元格,將age的數值與字符串"Age: "連接成新的字符串。

27. 查看某列中是否包含某些值

isin是Pandas中的一個方法,用于檢查DataFrame或Series對象中的值是否存在于給定的列表中。返回結果為一個布爾型Series或DataFrame,其中包含所查詢元素是否在目標表中的信息。 例如,對于以下DataFrame:

import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': ['a', 'b', 'c', 'd']})

我們可以使用isin方法判斷列B中的元素是否在指定的列表中:

df['B'].isin(['a', 'c', 'e'])

輸出結果為:

0     True
1    False
2     True
3    False
Name: B, dtype: bool

我們也可以使用isin方法結合布爾索引技巧,過濾出符合條件的行:

df[df['B'].isin(['a', 'c', 'e'])]

輸出結果為:

   A  B
0  1  a
2  3  c

注意到,我們使用isin方法返回的布爾型Series作為篩選行的條件。

除了可以傳入列表進行查詢,isin方法還可以接受其他的類型作為參數,包括標量值,Series,以及同長度的布爾型Series,用來檢查DataFrame或Series中是否包含相應的元素

28. 替換

replace是Pandas中的一個方法,用于將DataFrame或Series對象中的值替換為另外的值。replace方法支持多種不同形式的替換規則,可以通過字典、列表、標量等不同方式進行替換。 例如,對于以下Series:

import pandas as pd
s = pd.Series([1, 2, 3, -1, 5])

我們可以使用replace方法將所有-1的元素替換為NaN(缺失值):

s.replace(-1, pd.NaT)

輸出結果為:

0     1.0
1     2.0
2     3.0
3     NaT
4     5.0
dtype: float64

注意到,我們使用了pd.NaT來表示缺失值。 replace方法還支持使用字典進行多種不同值的替換,例如:

s.replace({1: 'one', 2: 'two', 3: 'three', -1: pd.NaT, 5: 'five'})

輸出結果為:

0      one
1      two
2    three
3      NaT
4     five
dtype: object

其中,我們通過傳入一個字典,指定了不同值的替換規則。 除了Series,replace方法也可以用于DataFrame對象中的數值或字符串的替換。只需要指定要替換的列名,并使用字典或其他方式指定替換規則即可。

以上是對于Pandas的28種基本用法的概述,Pandas是數據分析領域一個很重要的工具,它提供了處理、分和可視化大型數據集的簡單易用的方法和API,我們可以通過不斷實踐和探索來更好地掌握Pandas的使用。

分享到:
標簽:Pandas
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定