Numpy 与 DataFrame对比与应用
(一)对比Numpty 与 DataFrame默认索引取值不同点
Numpy索引取值
#Numpy索引取值 data=np.empty((2,4),dtype=int) print(data) ''' [[4128860 6029375 3801157 7340124] [7602297 7274600 3342446 54]] ''' #取行 print('取第一行结果') print(data[0]) #[4128860 6029375 3801157 7340124] 默认data【0】拿到的是数组第一行的值 ''' 取第一行结果 [4128860 6029375 3801157 7340124] ''' #取列 print('取第一列的结果') print(data[:,[0]]) ''' 取第一列的结果 [[4128860] [7602297]] '''
DataFrame索引取值
#Dataframe的索引取值 data=pd.DataFrame(data) print(data) '''原始DataFrame数组 0 1 2 3 0 4128860 6029375 3801157 7340124 1 7602297 7274600 3342446 54 ''' #取行的值 print('取第二行的值') print(data[1:2]) ''' 取第一行的值 0 1 2 3 0 4128860 6029375 3801157 7340124 ''' #取列的值 print('取第一列的值') print(data[0]) #这里data【0】拿到的是第一列的值 ''' 取第一列的值 0 4128860 1 7602297 Name: 0, dtype: int32 '''
(二)Numpy与DataFrame之间转换
Numpy数组:
通过Numpy生成一个随机5行5列数组
import random data=np.zeros((5,5),dtype=int)
通过random模块改变数组中的每个值
for i in range(len(data)): for j in range(len(data[0])): data[i][j] = random.randint(0,5) print(data) '''Numpy初始的数组结构 [[1 4 4 0 2] [3 2 5 5 2] [3 4 1 5 5] [2 3 1 0 1] [4 4 1 1 1]] '''
查看Numpy数组类型
#看Numpy初始的数组类型 print(type(data)) #<class 'numpy.ndarray'>
将Numpy数组转为DataFrame数组:
data_new=pd.DataFrame(data) print(data_new) '''转换为DataFrame之后的结构 0 1 2 3 4 0 1 4 4 0 2 1 3 2 5 5 2 2 3 4 1 5 5 3 2 3 1 0 1 4 4 4 1 1 1 '''
查看转换后的数组类型
#看装换之后的数据类型 print(type(data_new)) #<class 'pandas.core.frame.DataFrame'>