欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Numpy的ndarray和Pandas的Series和DataFrame类型的一些对比和理解

程序员文章站 2023-03-25 10:47:31
1、ndarray对象1、介绍  NumPy中的ndarray是一个多维数组对象,可以通过reshape()函数来将一维数组转换为多维数组。2、代码测试# ndarray对象测试x = np.array([1, 2, 3, 4])# (4,)print(x.shape)# print(type(x))# [1 2 3 4]print(x)# 通过reshape()函数将一维数组转换为多维数组。x2 = x.reshape(...

1、ndarray对象

1、介绍
  NumPy中的ndarray是一个多维数组对象,可以通过reshape()函数来将一维数组转换为多维数组。
2、代码测试

# ndarray对象测试
x = np.array([1, 2, 3, 4])
# (4,)
print(x.shape)
# <class 'numpy.ndarray'>
print(type(x))
# [1 2 3 4]
print(x)

# 通过reshape()函数将一维数组转换为多维数组。
x2 = x.reshape((2, 2))
# (2, 2)
print(x2.shape)
# <class 'numpy.ndarray'>
print(type(x2))
# [[1 2]
#  [3 4]]
print(x2)

2、Series对象

1、介绍
  Series对象可以简单地被认为是一维的数组。不过Series 和一维数组最主要的区别在于 Series 类型具有索引( index )。
2、测试

# Series对象测试
s = pd.Series([1, 2, 3, 4])
# (4,)
print(s.shape)
# <class 'numpy.ndarray'>
print(type(x))
# 0    1
# 1    2
# 2    3
# 3    4
# dtype: int64
print(s)

  在梯度下降法求解线性回归的过程中,程序中使用下面方式读取文件中的数据,产生的train_X对象是一个Series类型的数据。

t = data.sample(len(data), random_state=0)
# (400,)
# <class 'pandas.core.series.Series'>
train_X = t.iloc[:400, 5]

  此时该数据是一个一维的数据,不是我们需要的,我们应该通过下面的切片方式获取一列数据:

train_X = t.iloc[:400, 5:6]

# (400, 1)
print(train_X.shape)
# <class 'pandas.core.frame.DataFrame'>
print(type(train_X))

  可以看到,获取的数据是一个DataFrame类型,是一个二维数组矩阵,我们可以将其放到模型中进行训练。

3、DataFrame对象

1、介绍
  DataFrame对象可以看作一个二维数组,每一列单独取出来是一个 Series 。
2、代码测试

dates = pd.date_range("20201016", periods=2)
# DatetimeIndex(['2020-10-16', '2020-10-17'], dtype='datetime64[ns]', freq='D')
print(dates)

# DataFrame相当于一个二维矩阵
df = pd.DataFrame(np.random.randn(2, 2), index=dates, columns=['a', 'b'])
# 输出:以dates作为左侧行的索引,以字母a,b作为列的索引
#                    a        b
# 2020-10-16  0.442655 -0.22998
# 2020-10-17 -1.157189 -0.27214
print(df)

  使用下面方式读取文件中的数据,产生的data对象也是一个DataFrame类型的数据:

data = pd.read_csv(r"dataset/boston.csv", header=0)

# type(data) <class 'pandas.core.frame.DataFrame'>
print("type(data)", type(data))

本文地址:https://blog.csdn.net/weixin_43334389/article/details/109962837

相关标签: python numpy