📜  Python数据操作

📅  最后修改于: 2020-12-13 14:11:50             🧑  作者: Mango


Python主要通过两个库Pandas和Numpy处理各种格式的数据。在前面的章节中,我们已经看到了这两个库的重要功能。在本章中,我们将看到每个库中有关如何操作数据的一些基本示例。

Numpy中的数据操作

NumPy中定义的最重要的对象是称为ndarray的N维数组类型。它描述了相同类型的项目的集合。可以使用从零开始的索引来访问集合中的项目。可以通过本教程后面介绍的不同数组创建例程来构造ndarray类的实例。基本ndarray使用NumPy中的数组函数创建,如下所示-

numpy.array 

以下是有关Numpy数据处理的一些示例。

例子1

# more than one dimensions 
import numpy as np 
a = np.array([[1, 2], [3, 4]]) 
print a

输出如下-

[[1, 2] 
 [3, 4]]

例子2

# minimum dimensions 
import numpy as np 
a = np.array([1, 2, 3,4,5], ndmin = 2) 
print a

输出如下-

[[1, 2, 3, 4, 5]]

例子3

# dtype parameter 
import numpy as np 
a = np.array([1, 2, 3], dtype = complex) 
print a

输出如下-

[ 1.+0.j,  2.+0.j,  3.+0.j]

熊猫的数据操作

熊猫通过SeriesData FramePanel处理数据。我们将从每个例子中看到一些例子。

熊猫系列

系列是一维标记的数组,能够保存任何类型的数据(整数,字符串,浮点数, Python对象等)。轴标签统称为索引。可以使用以下构造函数创建pandas系列-

pandas.Series( data, index, dtype, copy)

在这里,我们从一个Numpy数组创建一个序列。

#import the pandas library and aliasing as pd
import pandas as pd
import numpy as np
data = np.array(['a','b','c','d'])
s = pd.Series(data)
print s

输出如下-

0   a
1   b
2   c
3   d
dtype: object

熊猫数据框

数据框是二维数据结构,即,数据以表格形式在行和列中对齐。可以使用以下构造函数创建pandas DataFrame-

pandas.DataFrame( data, index, columns, dtype, copy)

现在让我们使用数组创建索引的DataFrame。

import pandas as pd
data = {'Name':['Tom', 'Jack', 'Steve', 'Ricky'],'Age':[28,34,29,42]}
df = pd.DataFrame(data, index=['rank1','rank2','rank3','rank4'])
print df

输出如下-

Age    Name
rank1    28      Tom
rank2    34     Jack
rank3    29    Steve
rank4    42    Ricky

熊猫面板

面板是3D数据容器。术语“面板数据”是从计量经济学派生而来的,部分原因是名称pandas- pan(el)-da(ta) -s。

面板可以使用以下构造函数创建-

pandas.Panel(data, items, major_axis, minor_axis, dtype, copy)

在下面的示例中,我们根据DataFrame对象的字典创建面板

#creating an empty panel
import pandas as pd
import numpy as np

data = {'Item1' : pd.DataFrame(np.random.randn(4, 3)), 
        'Item2' : pd.DataFrame(np.random.randn(4, 2))}
p = pd.Panel(data)
print p

输出如下-


Dimensions: 2 (items) x 4 (major_axis) x 5 (minor_axis)
Items axis: 0 to 1
Major_axis axis: 0 to 3
Minor_axis axis: 0 to 4