数组,pandas创建&合并
import numpy as np a = [1,2,3,4,5,6] a_array = np.array(a) print(a_array,'a_array') print(a_array*2, '**2') twod = np.array([[1,2],[2,3],[4,5]]) print(twod) # 三行两列 # np.arange # 创建有序列表, 类似range print(np.arange(0,1,0.1)) #np.random.randn(3)创建一个一维数组,其中包含服从正态分布(均值为0、标准差为1的分布)的3个随机数
# 三行四列 print(np.arange(12).reshape(3,4)) print(np.arange(12).reshape(3,4)*2) # 随机整数数组: print(np.random.randint(0, 10, (4, 5)))
# pandas import pandas as pd # Series print(pd.Series(['丁一', '王二', '张三'])) print(pd.Series(['丁一', '王二', '张三'],['丁一', '王二', '张三'])) print(pd.Series(['丁一', '王二', '张三'],['丁一', '王二', '张三'])[1]) # 创建datafram print(pd.DataFrame(np.arange(6).reshape(3,2))) print(pd.DataFrame([[1,2],[2,3],[4,5]])) print(pd.DataFrame([[1,2],[2,3],[4,5]])) # 自定义行索引和列索引 a = pd.DataFrame([[1, 2], [3, 4], [5, 6]], columns=['date', 'score'], index=['A', 'B', 'C']) print(a) print(a['score']['A']) # 通过自定义列创建 # 第一个键是列,第二个是行 date = [1, 3, 5] score = [2, 4, 6] b = pd.DataFrame() # 创建一个空DataFrame b['date'] = date b['score'] = score print(b) print(pd.DataFrame([[1,2],[2,3],[4,5]])[1][1]) # 通过字典创建: key 为字段名 b = pd.DataFrame({'a': [1, 3, 5], 'b': [2, 4, 6]}, index=['x', 'y', 'z']) print(b) # 将key设置为行号: print(pd.DataFrame.from_dict({'a': [1, 3, 5], 'b': [2, 4, 6]}, orient='index')) # 二维数组创建行列索引 a = np.arange(12).reshape(3, 4) c = pd.DataFrame(a, index=[1, 2, 3], columns=['A', 'B', 'C', 'D']) print(c) # 重命名字段和行号: 创建了新的数组,也可通过inplace=True来节省内存(大表适用) a = pd.DataFrame(np.arange(6).reshape(3, 2)) a = a.rename(index={0:'万科', 1:'阿里', 2:'百度'}, columns= {0:'日期', 1:'分数'}) print(a) print(a.reset_index()) # 行索引重置为一列,并增加行序号索引 a = a.set_index('日期',inplace=True) # 转换为索引列 并丢失了原索引 print(a)