numpy数组 和 DataFrame创建修改

2022年1月10日21:37:05 发表评论 468 views

数组,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)

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: