码迷,mamicode.com
首页 > 其他好文 > 详细

数据可视化基础专题(十九):Pandas120题(四)51-80

时间:2021-05-23 23:36:54      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:***   规则   lis   mat   change   最大值   风格   orm   name   

第三期 金融数据处理

51.使用绝对路径读取本地Excel数据

#请将下面的路径替换为你存储数据的路径
data = pd.read_excel(/Users/Desktop/600000.SH.xls)
WARNING *** OLE2 inconsistency: SSCS size is 0 but SSAT size is non-zero

52.查看数据前三行

data.head(3)

技术图片

53.查看每列数据缺失值情况

data.isnull().sum()

技术图片

 

 

 

54.提取日期列含有空值的行

data[data[日期].isnull()]

技术图片

55.输出每列缺失值具体行数

for columname in data.columns:
    if data[columname].count() != len(data):
        loc = data[columname][data[columname].isnull().values==True].index.tolist()
        print(列名:"{}", 第{}行位置有缺失值.format(columname,loc))

技术图片

56.删除所有存在缺失值的行

‘‘‘
备注
axis:0-行操作(默认),1-列操作
how:any-只要有空值就删除(默认),all-全部为空值才删除
inplace:False-返回新的数据集(默认),True-在原数据集上操作
‘‘‘
data.dropna(axis=0, how=any, inplace=True)

57.绘制收盘价的折线图

import matplotlib.pyplot as plt 
plt.style.use(seaborn-darkgrid) # 设置画图的风格
plt.rc(font,  size=6) #设置图中字体和大小
plt.rc(figure, figsize=(4,3), dpi=150) # 设置图的大小
data[收盘价(元)].plot()

# 等价于
import matplotlib.pyplot as plt
plt.plot(df[收盘价(元)])

技术图片

 

 

 

58.同时绘制开盘价与收盘价

data[[收盘价(元),开盘价(元)]].plot()

技术图片

59.绘制涨跌幅的直方图

plt.hist(df[涨跌幅(%)])
# 等价于
df[涨跌幅(%)].hist()

技术图片

60.让直方图更细致

data[涨跌幅(%)].hist(bins = 30)

技术图片

 

 

61.以data的列名创建一个dataframe

temp = pd.DataFrame(columns = data.columns.to_list())

62.打印所有换手率不是数字的行

for i in range(len(data)):
    if type(data.iloc[i,13]) != float:
        temp = temp.append(data.loc[i])

temp

技术图片

63.打印所有换手率为--的行

data[data[换手率(%)].isin([--])]

技术图片

64.重置data的行号

data = data.reset_index()

65.删除所有换手率为非数字的行

k =[]
for i in range(len(data)):
    if type(data.iloc[i,13]) != float:
        k.append(i)
data.drop(labels=k,inplace=True)

66.绘制换手率的密度曲线

data[换手率(%)].plot(kind=kde)

技术图片

 

 

67.计算前一天与后一天收盘价的差值

data[收盘价(元)].diff()

技术图片

68.计算前一天与后一天收盘价变化率

data[收盘价(元)].pct_change()

技术图片

 

 

69.设置日期为索引

data = data.set_index(日期)

70.以5个数据作为一个数据滑动窗口,在这个5个数据上取均值(收盘价)

data[收盘价(元)].rolling(5).mean()

技术图片

71.以5个数据作为一个数据滑动窗口,计算这五个数据总和(收盘价)

data[收盘价(元)].rolling(5).sum()

技术图片

72.将收盘价5日均线、20日均线与原始数据绘制在同一个图上

data[收盘价(元)].plot()
data[收盘价(元)].rolling(5).mean().plot()
data[收盘价(元)].rolling(20).mean().plot()

技术图片

73.按周为采样规则,取一周收盘价最大值

data[收盘价(元)].resample(W).max()

技术图片

74.绘制重采样数据与原始数据

data[收盘价(元)].plot()
data[收盘价(元)].resample(7D).max().plot()

技术图片

75.将数据往后移动5天

data.shift(5)

技术图片

76.将数据向前移动5天

data.shift(-5)

技术图片

77.使用expending函数计算开盘价的移动窗口均值

data[开盘价(元)].expanding(min_periods=1).mean()

技术图片

78.绘制上一题的移动均值与原始数据折线图

data[expanding Open mean]=data[开盘价(元)].expanding(min_periods=1).mean()
data[[开盘价(元), expanding Open mean]].plot(figsize=(16, 6))

技术图片

79.计算布林指标

data[former 30 days rolling Close mean]=data[收盘价(元)].rolling(20).mean()
data[upper bound]=data[former 30 days rolling Close mean]+2*data[收盘价(元)].rolling(20).std()#在这里我们取20天内的标准差
data[lower bound]=data[former 30 days rolling Close mean]-2*data[收盘价(元)].rolling(20).std()

80.计算布林线并绘制

data[[收盘价(元), former 30 days rolling Close mean,upper bound,lower bound ]].plot(figsize=(16, 6))

技术图片

 

数据可视化基础专题(十九):Pandas120题(四)51-80

标签:***   规则   lis   mat   change   最大值   风格   orm   name   

原文地址:https://www.cnblogs.com/qiu-hua/p/14728387.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!