Pandas 是非常著名的开源数据处理库,我们可以通过它完成对数据集进行快速读取、转换、过滤、分析等一系列操作。除此之外,Pandas 拥有强大的缺失数据处理与数据透视功能,可谓是数据预处理中的必备利器。
Pandas 是非常著名的开源数据处理库,其基于 NumPy 开发,该工具是 Scipy 生态中为了解决数据分析任务而设计。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的函数和方法。
Pandas 的数据类型主要有以下几种,它们分别是:Series(一维数组),DataFrame(二维数组),Panel(三维数组),Panel4D(四维数组),PanelND(更多维数组)。其中 Series 和 DataFrame 应用的最为广泛,几乎占据了使用频率 90% 以上。
我们按照维度来介绍对应的操作
在 Pandas 中,Series
是一个一维数组结构,用于存储任何类型的数据(整数、字符串、浮点数、Python对象等)。Series
的每个元素都有一个索引标签,使得它类似于一个字典。
关键特性:
来看看有什么数据类型
Pandas 的 Series
对象可以包含多种不同的数据类型,例如:
pd.Series([1, 2, 3, 4])
。pd.Series([1.0, 2.5, 3.3, 4.8])
。pd.Series(['apple', 'banana', 'cherry'])
。pd.Series([True, False, True])
。pd.Series(pd.date_range('20200101', periods=3))
。Series
中包含不同类型的数据,例如 pd.Series([1, 'apple', 3.14, True])
。以下是一些常见的 Series
操作的示例代码:
import pandas as pd
# 创建 Series
data = pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])
# 访问数据
print(data['b']) # 输出: 2
# 修改数据
data['b'] = 5
print(data['b']) # 输出: 5
# 切片操作
print(data[1:3])
# 条件筛选
print(data[data > 2])
# 常用函数
print(data.mean()) # 计算平均值
这些操作展示了 Series
的基本使用,包括创建、访问、修改数据、切片以及使用简单的统计函数。
# 创建 Series
data = pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])
这个比较直观我们可以看到四个数字,如果直接打印data[0],就会输出位置为0的数字1,如果打印data[‘a’]也是输出数字a对应位置的数字
在 Pandas 中,Series
是一个一维数组结构,用于存储任何类型的数据(整数、字符串、浮点数、Python对象等)。Series
的每个元素都有一个索引标签,使得它类似于一个字典。
import pandas as pd
pf=pd.Series({'a':10,'b':20,'c':30},index={1,2,3})
pf
在上面提供的代码中,有一个错误。当创建一个 Series
对象时,如果**同时提供了一个字典和一个索引列表,Pandas 将使用提供的索引来查找字典中的值。如果在字典中找不到索引对应的键,将会返回 NaN
(表示“不是数字”)**作为那个索引的值。在你的例子中,由于索引是 {1, 2, 3}
而字典的键是 {'a', 'b', 'c'}
,因此无法找到匹配的键,最终得到的 Series
将只包含 NaN
值。
正确的代码可以是这样的:
import pandas as pd
pf = pd.Series({'a': 10, 'b': 20, 'c': 30})
print(pf)
这样就会使用字典键作为索引,创建一个包含指定值的 Series
对象。如果你想自定义索引,可以这样做:
pf = pd.Series({'a': 10, 'b': 20, 'c': 30}, index=['a', 'b', 'c'])
print(pf)
这样将使用 'a', 'b', 'c'
作为索引。
DataFrame 是 Pandas 中最为常见、最重要且使用频率最高的数据结构。DataFrame 和平常的电子表格或 SQL 表结构相似。你可以把 DataFrame 看成是 Series 的扩展类型,它仿佛是由多个 Series 拼合而成。它和 Series 的直观区别在于,数据不但具有行索引,且具有列索引。
dataframe的基本结构
pandas.DataFrame(data=None, index=None, columns=None)
df = pd.DataFrame({'one': pd.Series([1, 2, 3]),
'two': pd.Series([4, 5, 6]),
'three':[1,2,3]},
)
输出结果如下:
one | two | three | |
---|---|---|---|
0 | 1 | 4 | 1 |
1 | 2 | 5 | 2 |
2 | 3 | 6 | 3 |
先介绍到这里