Quantcast
Channel: 小蓝博客
Viewing all articles
Browse latest Browse all 3145

详解Pandas Series与DataFrame的常用属性及实例

$
0
0

详解PandasSeriesDataFrame的常用属性及实例 📊🐼

数据分析领域,Pandas作为Python中最重要的库之一,其核心数据结构——SeriesDataFrame——为数据操作和分析提供了强大的工具。掌握这些数据结构的常用属性,能够极大提升数据处理的效率和准确性。本文将详细介绍SeriesDataFrame的常用属性,并通过实例加以说明,帮助您全面理解和应用这些数据结构。

📋 目录

  1. Pandas Series 概述
  2. Pandas DataFrame 概述
  3. Series 的常用属性及实例

  4. DataFrame 的常用属性及实例

  5. 常见问题与解答
  6. 总结

Pandas Series 概述

SeriesPandas中最基本的数据结构之一,它是一种一维的标签化数组,可以存储任何数据类型(整数、字符串、浮点数、Python对象等)。每个元素都有一个对应的标签(索引),使得数据访问更加灵活和便捷。

Pandas DataFrame 概述

DataFramePandas中另一种核心数据结构,类似于电子表格SQL表。它是一个二维的标签化数据结构,由多列组成,每列可以是不同的数据类型。DataFrame提供了丰富的方法和属性,方便进行数据操作、清洗和分析。

Series 的常用属性及实例

index 📍

index属性返回Series对象的索引。

示例代码

import pandas as pd

# 创建一个Series
data = pd.Series([100, 200, 300], index=['a', 'b', 'c'])
print(data.index)

输出

Index(['a', 'b', 'c'], dtype='object')

解释

  • data.index返回Series的索引 ['a', 'b', 'c']

values 🧮

values属性返回Series对象的值。

示例代码

import pandas as pd

# 创建一个Series
data = pd.Series([10, 20, 30], index=['x', 'y', 'z'])
print(data.values)

输出

[10 20 30]

解释

  • data.values返回Series的值 [10, 20, 30]

dtype 🧬

dtype属性返回Series对象的数据类型。

示例代码

import pandas as pd

# 创建一个Series
data = pd.Series([1.5, 2.5, 3.5])
print(data.dtype)

输出

float64

解释

  • data.dtype返回Series的数据类型 float64

name 🏷️

name属性可以获取或设置Series的名称。

示例代码

import pandas as pd

# 创建一个Series
data = pd.Series([5, 10, 15], index=['a', 'b', 'c'])
data.name = 'Numbers'
print(data)
print("Series Name:", data.name)

输出

a     5
b    10
c    15
Name: Numbers, dtype: int64
Series Name: Numbers

解释

  • data.name = 'Numbers'为Series命名为 Numbers
  • data.name返回Series的名称 Numbers

size 📏

size属性返回Series中元素的数量。

示例代码

import pandas as pd

# 创建一个Series
data = pd.Series([7, 14, 21, 28])
print(data.size)

输出

4

解释

  • data.size返回Series中元素的数量 4

shape 📐

shape属性返回Series的形状(即元素数量)。

示例代码

import pandas as pd

# 创建一个Series
data = pd.Series(['apple', 'banana', 'cherry'])
print(data.shape)

输出

(3,)

解释

  • data.shape返回Series的形状 (3,),表示一维有3个元素。

DataFrame 的常用属性及实例

columns 🗂️

columns属性返回DataFrame的列标签。

示例代码

import pandas as pd

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

输出

Index(['Name', 'Age'], dtype='object')

解释

  • df.columns返回DataFrame的列标签 ['Name', 'Age']

index 📍

index属性返回DataFrame的行索引。

示例代码

import pandas as pd

# 创建一个DataFrame
data = {
    'Name': ['David', 'Eva', 'Frank'],
    'Age': [40, 45, 50]
}
df = pd.DataFrame(data, index=['a', 'b', 'c'])
print(df.index)

输出

Index(['a', 'b', 'c'], dtype='object')

解释

  • df.index返回DataFrame的行索引 ['a', 'b', 'c']

dtypes 🧬

dtypes属性返回DataFrame中各列的数据类型。

示例代码

import pandas as pd

# 创建一个DataFrame
data = {
    'Name': ['George', 'Hannah', 'Ian'],
    'Age': [28, 32, 40],
    'Salary': [50000.0, 60000.5, 70000.75]
}
df = pd.DataFrame(data)
print(df.dtypes)

输出

Name       object
Age         int64
Salary    float64
dtype: object

解释

  • df.dtypes显示每列的数据类型,NameobjectAgeint64Salaryfloat64

shape 📐

shape属性返回DataFrame的形状(行数和列数)。

示例代码

import pandas as pd

# 创建一个DataFrame
data = {
    'Product': ['Laptop', 'Tablet', 'Smartphone'],
    'Price': [1200, 600, 800]
}
df = pd.DataFrame(data)
print(df.shape)

输出

(3, 2)

解释

  • df.shape返回DataFrame的形状 (3, 2),表示3行2列。

size 📏

size属性返回DataFrame中元素的总数量。

示例代码

import pandas as pd

# 创建一个DataFrame
data = {
    'City': ['New York', 'Los Angeles'],
    'Population': [8419000, 3980000]
}
df = pd.DataFrame(data)
print(df.size)

输出

4

解释

  • df.size返回DataFrame中元素的总数量 4

values 🧮

values属性返回DataFrame的值,以Numpy数组形式展示。

示例代码

import pandas as pd

# 创建一个DataFrame
data = {
    'Country': ['USA', 'Canada'],
    'Capital': ['Washington D.C.', 'Ottawa']
}
df = pd.DataFrame(data)
print(df.values)

输出

[['USA' 'Washington D.C.']
 ['Canada' 'Ottawa']]

解释

  • df.values返回DataFrame的值 [['USA', 'Washington D.C.'], ['Canada', 'Ottawa']]

head 👀

head方法返回DataFrame的前几行,默认显示前5行。

示例代码

import pandas as pd

# 创建一个DataFrame
data = {
    'Employee': ['John', 'Jane', 'Mike', 'Anna', 'Tom', 'Sara'],
    'Department': ['HR', 'Finance', 'IT', 'Marketing', 'IT', 'Finance']
}
df = pd.DataFrame(data)
print(df.head(3))

输出

  Employee Department
0     John         HR
1     Jane    Finance
2     Mike         IT

解释

  • df.head(3)返回DataFrame的前3行。

tail 👀

tail方法返回DataFrame的后几行,默认显示最后5行。

示例代码

import pandas as pd

# 创建一个DataFrame
data = {
    'Product': ['A', 'B', 'C', 'D', 'E'],
    'Sales': [100, 150, 200, 250, 300]
}
df = pd.DataFrame(data)
print(df.tail(2))

输出

  Product  Sales
3       D    250
4       E    300

解释

  • df.tail(2)返回DataFrame的最后2行。

info ℹ️

info方法提供DataFrame的简要概述,包括索引、数据类型、非空值数量等信息。

示例代码

import pandas as pd

# 创建一个DataFrame
data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data)
df.info()

输出

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 3 columns):
 #   Column  Non-Null Count  Dtype 
---  ------  --------------  ----- 
 0   Name    3 non-null      object
 1   Age     3 non-null      int64 
 2   City    3 non-null      object
dtypes: int64(1), object(2)
memory usage: 200.0+ bytes

解释

  • df.info()提供DataFrame的详细信息,包括每列的非空值数量和数据类型。

describe 📈

describe方法生成DataFrame中数值列的统计摘要,包括计数、均值、标准差、最小值、四分位数和最大值。

示例代码

import pandas as pd

# 创建一个DataFrame
data = {
    'Score': [85, 90, 78, 92, 88, 76]
}
df = pd.DataFrame(data)
print(df.describe())

输出

            Score
count   6.000000
mean   84.166667
std     6.732272
min    76.000000
25%    78.500000
50%    85.000000
75%    88.500000
max    92.000000

解释

  • df.describe()生成数值列 Score的统计摘要。

常见问题与解答 ❓

问题一:SeriesDataFrame的主要区别是什么?

解答

  • Series是一维的标签化数组,适用于存储单一类型的数据。
  • DataFrame是二维的标签化数据结构,类似于表格,适用于存储多种类型的数据。

问题二:如何在创建DataFrame时指定行索引?

解答: 在创建DataFrame时,可以通过 index参数指定行索引。例如:

import pandas as pd

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

输出

    Name  Age
id1  Alice   25
id2    Bob   30

问题三:如何修改Series的索引?

解答: 可以通过 Series.index属性直接修改索引。例如:

import pandas as pd

series = pd.Series([1, 2, 3], index=['a', 'b', 'c'])
series.index = ['x', 'y', 'z']
print(series)

输出

x    1
y    2
z    3
dtype: int64

总结 ✅

Pandas中的SeriesDataFrame是数据分析中不可或缺的工具。通过掌握这些数据结构的常用属性,您可以更高效地进行数据操作和分析。无论是简单的一维数据存储还是复杂的多维数据管理,SeriesDataFrame都能提供强大的支持。持续练习和应用这些属性,将显著提升您的数据处理能力和分析效率。📈🔍


Pandas #数据分析 #Python #Series #DataFrame #数据处理 #编程教程 #数据科学


Viewing all articles
Browse latest Browse all 3145

Trending Articles