最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python Pandas高級(jí)功能之?dāng)?shù)據(jù)透視表和字符串操作

 更新時(shí)間:2023年07月11日 09:57:23   作者:小小張說故事  
Pandas是Python中用于數(shù)據(jù)處理和分析的強(qiáng)大庫,這篇文章將深入探討Pandas庫的高級(jí)功能:數(shù)據(jù)透視表和字符串操作,需要的朋友可以參考下

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

數(shù)據(jù)透視表是一種常見的數(shù)據(jù)匯總工具,常用于電子表格程序和某些數(shù)據(jù)庫。Pandas提供了創(chuàng)建數(shù)據(jù)透視表的功能,這使得數(shù)據(jù)分析更加靈活和直觀。

1. 創(chuàng)建數(shù)據(jù)透視表

Pandas的pivot_table()函數(shù)可以輕松地創(chuàng)建數(shù)據(jù)透視表。我們需要指定以下參數(shù):values(要聚合的列名),index(在透視表的行中要分組的列名),columns(在透視表的列中要分組的列名),aggfunc(用于聚合的函數(shù))。

import pandas as pd
import numpy as np
df = pd.DataFrame({
    'A': ['one', 'one', 'two', 'three'] * 3,
    'B': ['A', 'B', 'C'] * 4,
    'C': ['foo', 'foo', 'foo', 'bar', 'bar', 'bar'] * 2,
    'D': np.random.randn(12),
    'E': np.random.randn(12)
})
# 創(chuàng)建數(shù)據(jù)透視表
pivot_table = df.pivot_table(values='D', index=['A', 'B'], columns=['C'], aggfunc=np.sum)
print(pivot_table)

2. 查詢數(shù)據(jù)透視表

你可以像查詢普通的DataFrame那樣查詢數(shù)據(jù)透視表。

# 查詢數(shù)據(jù)透視表
print(pivot_table.loc['one'])  # 查詢行索引為'one'的數(shù)據(jù)
print(pivot_table['foo'])  # 查詢列索引為'foo'的數(shù)據(jù)

二、字符串操作

Pandas提供了一系列的字符串處理方法,在str屬性中集成了這些方法,這使得在DataFrame和Series中的字符串操作更加方便。

1. 字符串基本操作

Pandas支持大部分Python內(nèi)置的字符串方法。

s = pd.Series(['A', 'B', 'C', 'Aaba', 'Baca', np.nan, 'CABA', 'dog', 'cat'])
print(s.str.lower())  # 將字符串轉(zhuǎn)化為小寫

2. 使用正則表達(dá)式

Pandas的字符串方法能夠接受正則表達(dá)式,這使得字符串操作更加強(qiáng)大。例如,我們可以使用正則表達(dá)式,配合replace()函數(shù)替換字符串中的字符。

s = pd.Series(['a', 'a|b', np.nan, 'a|c'])
print(s.str.replace('a|b', 'new', regex=True))  # 使用正則表達(dá)式替換字符串

通過以上這兩個(gè)方面的深入探討,我們可以看到Pandas在高級(jí)數(shù)據(jù)處理方面的強(qiáng)大能力。使用數(shù)據(jù)透視表和字符串操作,可以讓我們更有效地進(jìn)行數(shù)據(jù)處理。

三、向量化字符串操作

Pandas庫在str屬性下提供了一系列字符串處理方法,這些方法可以更方便地進(jìn)行向量化字符串操作,實(shí)現(xiàn)在整個(gè)Series或DataFrame中的字符串處理。

1. 向量化操作的基本方法

向量化操作的基本方法主要包括:大小寫轉(zhuǎn)換、長度計(jì)算、分割、替換等。

s = pd.Series(['Pandas', 'Is', 'An', 'Excellent', 'Library'])
print(s.str.lower())  # 轉(zhuǎn)為小寫
print(s.str.len())  # 計(jì)算長度
print(s.str.split())  # 分割字符串
print(s.str.replace('A', 'a'))  # 替換字符

2. 使用正則表達(dá)式的向量化操作

Pandas的字符串方法支持正則表達(dá)式,能實(shí)現(xiàn)更復(fù)雜的字符串操作。

s = pd.Series(['Pandas', 'Is', 'Not only', 'An', 'Excellent', 'Library'])
print(s.str.contains('An'))  # 檢查字符串是否包含"An"
print(s.str.extract('([A-Za-z]+)'))  # 提取匹配正則表達(dá)式的部分

四、應(yīng)用函數(shù)

Pandas也支持應(yīng)用自定義函數(shù)或者lambda函數(shù)到Series或DataFrame的元素。

1. 對(duì)Series應(yīng)用函數(shù)

s = pd.Series([20, 21, 12], index=['London', 'New York', 'Helsinki'])
# 使用apply()函數(shù)
print(s.apply(lambda x: x**2))  # 對(duì)Series的每個(gè)元素求平方

2. 對(duì)DataFrame應(yīng)用函數(shù)

df = pd.DataFrame({
    'A': [1, 2, 3],
    'B': [10, 20, 30],
    'C': [7, 8, 9]
})
# 使用applymap()函數(shù)
print(df.applymap(lambda x: x**2))  # 對(duì)DataFrame的每個(gè)元素求平方

通過上述內(nèi)容,我們對(duì)Pandas庫中的字符串操作和數(shù)據(jù)透視表有了更深入的了解,希望這能在你的數(shù)據(jù)處理和分析工作中起到幫助。

到此這篇關(guān)于python Pandas高級(jí)功能之?dāng)?shù)據(jù)透視表和字符串操作的文章就介紹到這了,更多相關(guān)python Pandas高級(jí)功能內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

图木舒克市| 绍兴市| 莎车县| 新营市| 平乐县| 双城市| 丰县| 柳江县| 高淳县| 昌吉市| 平阴县| 大荔县| 兰坪| 藁城市| 白河县| 临漳县| 乐陵市| 祥云县| 丰台区| 梅河口市| 西藏| 临夏县| 弥渡县| 阳山县| 逊克县| 科技| 遵化市| 舟山市| 江口县| 梁河县| 西城区| 建湖县| 遂平县| 蛟河市| 开化县| 临湘市| 宝山区| 泰安市| 大石桥市| 吉安县| 南开区|