跳至主要內容

数据结构

blacklad2024年8月28日大约 2 分钟PythonPythonPandas

数据结构

1 Series

Series 是一种类似于一维数组的对象,它由一组数据(各种 Numpy 数据类型)以及一组与之相关的数据标签(即索引)组成。

相当于一维数组的基础上,加了数据标签索引数据。

1.1 创建Series

从列表创建 Series

import pandas as pd

s = pd.Series([1, 3, 5, 7, 9])
print(s)
0    1
1    3
2    5
3    7
4    9
dtype: int64

输出结果包括索引列(0,1,2...)、数据列和数据类型。

从字典创建 Series

字典的 key 作为数据的标签名。

import pandas as pd

data = {'a': 1, 'b': 2, 'c': 3}
s = pd.Series(data)
print(s)
a    1
b    2
c    3
dtype: int64

1.2 使用

访问元素

通过索引可以访问对应的元素。

import pandas as pd

data = {'a': 1, 'b': 2, 'c': 3}
s = pd.Series(data)

print(s[0]) 
print(s['b']) 
1
2

查看值和索引

列出所有的值、索引。

print(s.values) 
print(s.index) 
[1 2 3]
Index(['a', 'b', 'c'], dtype='object')

运算

对两个 Series 可以进行计算。

import pandas as pd

s1 = pd.Series([1, 2, 3])
s2 = pd.Series([4, 5, 6])
print(s1 + s2) 
0    5
1    7
2    9
dtype: int64

2 DataFrame

DataFrame 是一个二维的表格型数据结构,类似于电子表格或 SQL 表。它由一组有序的列组成,每列可以是不同的值类型(数值、字符串、布尔值等)。

DataFrame
DataFrame

第一行是表头,第一列是索引。(可以参考 Excel 的格式进行理解)

例子

对于下面的数据,表头是 name 和 age,每一行表示一个人的信息。

     name  age
0    Alice   25
1      Bob   30
2  Charlie   35

2.1 创建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

从字典创建

使用字典创建,指定了每列数据的名称。

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

2.2 使用

选择列

查看二维数据中的某一列。

print(df['name'])
0      Alice
1        Bob
2    Charlie
Name: name, dtype: object

选择行

查看二维数据中的某一行,可以通过索引或者标签名选择。

print(df.iloc[0])  # 基于位置选择
print(df.loc[0])   # 基于标签选择
name    Alice
age        25
Name: 0, dtype: object

筛选数据

print(df[df['age'] > 25])
     name  age
1      Bob   30
2  Charlie   35
上次编辑于: 2024/8/28 13:55:46
贡献者: blacklad