7月python问题总结(主要是数据处理)

主要总结一下,项目可视化过程中的坑,以及解决方法

图片清晰的的设置

%config InlineBackend.figure_format = 'retina'#设置图片的高清度
%matplotlib inline #不需要指令plt.show()

读取txt文件 并进行处理

#names设置列名
#sep设置分割符 符合正则表达式
#engine暂时不太清楚
data_mi = pd.read_table("sms-call-internet-mi-2013-11-01.txt" ,names=['Square','Time','Country','SMS-in','SMS-out','Call-in','Call-out','Internet traffic'],sep='\s+',engine='python')

按照指定行进行求和

#指定行进行求和
#其中as_index用来取消分组格式
data_total = data.groupby(['Square','Time'],as_index=False).sum()

筛选指定列---query

三维柱状图的绘制方式(Matlab绘制更加方便)

数据的拼接

concat、append、merge
#其中append的速度可能比较慢

csv的存储

在存储的时候一定要设置index=False的选项,不然会将之前index存入,破坏数据

data_total.to_csv("data/data_total.csv",index =False)

画图的一些细节

  • 设置中文字体以及字体大小,不然会出现乱码

    # plt.rcParams['font.family'] = 'FangSong'   # 设置字体为仿宋
    plt.rcParams['font.size'] = 10   # 设置字体的大小为10
    plt.rcParams['axes.unicode_minus'] = False   # 显示正、负的问题
    
  • 图例的显示:可以在图片里面也可以到图片外面

ax3.legend(loc=0,fontsize=8,bbox_to_anchor=(1.0,0.78),borderaxespad = 0.)
  • 同时也能设定子图之间的距离
plt.subplots_adjust(left=0.125,
                    bottom=0.1, 
                    right=0.9, 
                    top=0.9, 
                    wspace=0.2, 
                    hspace=0.35)
  • 加入显色条

对于显色还有很多参数,后面可以慢慢摸索

plt.imshow(dist,origin='lower',cmap='viridis_r')
plt.colorbar(shrink=0.83) # shrink 用于调整colorbar大小

对于归一化的理解

from sklearn.preprocessing import MinMaxScaler

def scaler_tool(dist):
    scaler = MinMaxScaler(feature_range=(0,1))
    scaler.fit(dist)
    return abs(scaler.transform(dist)-1)
#上面sklearn的包是对每一列进行正则化 他的最大值取得是每一行或者列的最大值 而不是全局最大值

#下面这个归一化是取全局最大值
from sklearn.preprocessing import MinMaxScaler
def scaler_tool(dist):
    for i in range(10):
        for j in range(10):
            dist[i][j] = (dist[i][j] - np.min(dist)) / (np.max(dist) - np.min(dist))
    return abs(dist - 1)

同时这里也可以注意一下归一化对深度模型的作用: LSTM中的归一化与反归一化问题、预测未来值问题

图形的处理

  • 图片一
    • square 1 改名为序号为多少
    • 图片间距的调整
    • 选定四个区域/以及两个区域
    • 线的宽度更改
    • 11/15
  • 图片二
    • 从底层逻辑改,不要直接调包
    • 递减显示,看是否有问题
  • 图片三
    • 颜色更换
    • 网格保留
    • 坐标轴显示
    • 可以的话,画两个时隙,放在一个图中
  • 图片四
    • 流量标签不要串行
    • dtw的计算方式重新更换
    • ij小矩阵 每一个区域
posted @ 2022-07-19 20:20  (´v`)  阅读(73)  评论(0)    收藏  举报