国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Python數(shù)據(jù)處理】-Pandas筆記

這篇具有很好參考價值的文章主要介紹了【Python數(shù)據(jù)處理】-Pandas筆記。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

【Python數(shù)據(jù)處理】-Pandas筆記,python,pandas,筆記

Python數(shù)據(jù)處理-Pandas筆記

?? 基本概念

Pandas是一個強大的Python數(shù)據(jù)處理庫,它提供了高效的數(shù)據(jù)結構和數(shù)據(jù)分析工具,使數(shù)據(jù)處理變得簡單而快速。本篇筆記將介紹Pandas中最常用的數(shù)據(jù)結構——Series和DataFrame,以及數(shù)據(jù)處理的各種操作和技巧。

?? Series

(一)創(chuàng)建Series

Series是Pandas中的一維數(shù)組,類似于帶有標簽的NumPy數(shù)組。創(chuàng)建Series可以通過多種方式進行,以下是幾種常用的方法:

? 使用列表創(chuàng)建Series
import pandas as pd

data = [10, 20, 30, 40, 50]
s = pd.Series(data)
print(s)

輸出:

0    10
1    20
2    30
3    40
4    50
dtype: int64
? 使用NumPy數(shù)組創(chuàng)建Series
import pandas as pd
import numpy as np

data = np.array([10, 20, 30, 40, 50])
s = pd.Series(data)
print(s)

輸出:

0    10
1    20
2    30
3    40
4    50
dtype: int32
? 使用字典創(chuàng)建Series
import pandas as pd

data = {'a': 10, 'b': 20, 'c': 30, 'd': 40, 'e': 50}
s = pd.Series(data)
print(s)

輸出:

a    10
b    20
c    30
d    40
e    50
dtype: int64

(二)Series的簡單操作

Series對象提供了許多方便的方法和屬性來操作數(shù)據(jù)。以下是一些常用的操作:

???訪問數(shù)據(jù)
通過索引訪問數(shù)據(jù)
import pandas as pd

data = [10, 20, 30, 40, 50]
s1 = pd.Series(data)
print(s1)
# 通過索引訪問數(shù)據(jù)
print(s1[0])  # 輸出 10
print(s1[2])  # 輸出 30

運行結果:
【Python數(shù)據(jù)處理】-Pandas筆記,python,pandas,筆記

通過標簽訪問數(shù)據(jù)
import pandas as pd
data = [10, 20, 30, 40, 50]
s2 = pd.Series(data,index = ['a','b','c','d','e'])
print(s2)

# 通過索引訪問數(shù)據(jù)
print(s2['a'])  # 輸出 10
print(s2['c'])  # 輸出 30

運行結果:
【Python數(shù)據(jù)處理】-Pandas筆記,python,pandas,筆記

??? 切片操作
import pandas as pd

data = [10, 20, 30, 40, 50]
s = pd.Series(data)

# 切片操作
print(s[1:4])  # 輸出 [20, 30, 40]

運行結果
【Python數(shù)據(jù)處理】-Pandas筆記,python,pandas,筆記

import pandas as pd

data = [10, 20, 30, 40, 50]
s = pd.Series(data,index = ['a','b','c','d','e'])# 修改

# 切片操作
print(s['b':'d'])  # 輸出 [20, 30, 40]

運行結果
【Python數(shù)據(jù)處理】-Pandas筆記,python,pandas,筆記

??? 矢量化操作
import pandas as pd

data = [10, 20, 30, 40, 50]
s = pd.Series(data)

# 矢量化操作
print(s * 2)

輸出:

0     20
1     40
2     60
3     80
4    100
dtype: int64

??DataFrame

??? 創(chuàng)建方式

DataFrame是Pandas中的二維數(shù)據(jù)結構,可以看作是由多個Series組成的表格。創(chuàng)建DataFrame的方法有很多種,下面介紹幾種常見的方式:

? 使用列表創(chuàng)建DataFrame
import pandas as pd

data = [['Alice', 25], ['Bob', 30], ['Charlie', 35]]
df = pd.DataFrame(data, columns=['Name', 'Age'])
print(df)

輸出:

      Name  Age
0    Alice   25
1      Bob   30
2  Charlie   35
?使用字典創(chuàng)建DataFrame
import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)
print(df)

輸出:

      Name  Age
0    Alice   25
1      Bob   30
2  Charlie   35
?使用NumPy數(shù)組創(chuàng)建DataFrame
import pandas as pd
import numpy as np

data = np.array([['Alice', 25], ['Bob', 30], ['Charlie', 35]])
df = pd.DataFrame(data, columns=['Name', 'Age'])
print(df)

輸出:

      Name Age
0    Alice  25
1      Bob  30
2  Charlie  35

?? 數(shù)據(jù)選取

數(shù)據(jù)選取是對DataFrame中的數(shù)據(jù)進行訪問和操作的關鍵步驟。下面介紹一些常用的數(shù)據(jù)選取方法。

??? [[]]
import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)

# 選取多列數(shù)據(jù)
print(df[['Name', 'Age']])

輸出:

      Name  Age
0    Alice   25
1      Bob   30
2  Charlie   35
??? copy()
import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)

# 復制DataFrame
df_copy = df.copy()
??? 列操作
import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)

# 添加新列
df['Gender'] = ['Female', 'Male', 'Male']

# 刪除列
df = df.drop('Gender', axis=1)
??? 行操作
import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)

# 選取行數(shù)據(jù)
print(df.loc[0])  # 輸出第一行數(shù)據(jù)
print(df.loc[1:2])  # 輸出第二行到第三行的數(shù)據(jù)
??? 行-列
import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)

# 選取指定行列的數(shù)據(jù)
print(df.loc[0, 'Name'])  # 輸出第一行的Name列數(shù)據(jù)
print(df.loc[1:2, 'Name'])  # 輸出第二行到第三行的Name列數(shù)據(jù)
??? 數(shù)據(jù)篩選
import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)

# 根據(jù)條件篩選數(shù)據(jù)
filtered_df = df[df['Age'] > 30]
print(filtered_df)

?? 加載數(shù)據(jù)

在實際的數(shù)據(jù)處理中,我們常常需要從外部文件中加載數(shù)據(jù)到DataFrame中進行分析和處理。Pandas提供了多種方法來加載不同格式的數(shù)據(jù),下面介紹常用的幾種方式。

?? Txt
import pandas as pd

# 從txt文件加載數(shù)據(jù)
df = pd.read_csv('data.txt', sep='\t')
print(df)
?? Csv
import pandas as pd

# 從csv文件加載數(shù)據(jù)
df = pd.read_csv('data.csv')
print(df)
?? Excel
import pandas as pd

# 從Excel文件加載數(shù)據(jù)
df = pd.read_excel('data.xlsx')
print(df)

????? 排序與合并

數(shù)據(jù)排序和合并是數(shù)據(jù)處理中常用的操作之一。下面介紹幾種常見的排序和合并方法。

? Series排序
import pandas as pd

data = [10, 5, 8, 3, 12]
s = pd.Series(data)

# Series排序
sorted_s = s.sort_values()
print(sorted_s)
? DataFrame排序
import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)

# DataFrame按某一列排序
sorted_df = df.sort_values('Age')
print(sorted_df)
? Rank
import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 30]}
df = pd.DataFrame(data)

# 計算DataFrame的排名
ranked_df = df.rank()
print(ranked_df)
? merge(按列匹配合并)
import pandas as pd

data1 = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
data2 = {'Name': ['Alice', 'David', 'Charlie'], 'Salary': [5000, 6000, 7000]}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)

# 按列匹配合并兩個DataFrame
merged_df = pd.merge(df1, df2, on='Name')
print(merged_df)
? concat(數(shù)據(jù)的拼接)
import pandas as pd

data1 = {'Name': ['Alice', 'Bob'], 'Age': [25, 30]}
data2 = {'Name': ['Charlie', 'David'], 'Age': [35, 40]}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)

# 拼接兩個DataFrame
concatenated_df = pd.concat([df1, df2])
print(concatenated_df)

?? 數(shù)據(jù)匯總

在數(shù)據(jù)處理過程中,我們經(jīng)常需要對數(shù)據(jù)進行匯總和統(tǒng)計。下面介紹幾種常用的數(shù)據(jù)匯總方法。

?? 特殊值(info, describe)
import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)

# 查看DataFrame的基本信息
print(df.info())

# 查看DataFrame的統(tǒng)計信息
print(df.describe())
?? 分組統(tǒng)計
import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie', 'Alice', 'Bob', 'Charlie'],
        'Age': [25, 30, 35, 40, 45, 50],
        'Salary': [5000, 6000, 7000, 8000, 9000, 10000]}
df = pd.DataFrame(data)

# 按Name列進行分組統(tǒng)計
grouped_df = df.groupby('Name').mean()
print(grouped_df)

? 時間序列

Pandas提供了強大的時間序列處理功能,方便對時間相關的數(shù)據(jù)進行分析和處理。下面介紹一些時間序列的常用操作。

??? 初始化時間序列
import pandas as pd

# 初始化時間序列
dates = pd.date_range(start='2021-01-01', periods=10, freq='D')
print(dates)
??? 時間索引
import pandas as pd

# 創(chuàng)建帶有時間索引的DataFrame
dates = pd.date_range(start='2021-01-01', periods=10, freq='D')
data = {'Value': [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]}
df = pd.DataFrame(data, index=dates)
print(df)
??? 重采樣
import pandas as pd

# 創(chuàng)建帶有時間索引的DataFrame
dates = pd.date_range(start='2021-01-01', periods=10, freq='D')
data = {'Value': [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]}
df = pd.DataFrame(data, index=dates)

# 對時間序列進行重采樣
resampled_df = df.resample('W').sum()
print(resampled_df)

?? 參考資料

  • Pandas官方文檔
  • Pandas User Guide

??希望本篇文章對你有所幫助。

??如果你有任何問題或疑惑,請隨時向提問。

??感謝閱讀!文章來源地址http://www.zghlxwxcb.cn/news/detail-520037.html

到了這里,關于【Python數(shù)據(jù)處理】-Pandas筆記的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包