1. 如何实现把一个属性(列)拆分成多列,产生pivot,形成向量信息,计算相关性?

例:

     class_    timestamp    count
0 10 2019-01-20 13:23:00 1
1 10 2019-01-20 13:24:00 2
2 10 2019-01-20 13:25:00 2
3 10 2019-01-20 13:26:00 1
4 10 2019-01-20 13:27:00 2

转为:

class_ 1 2 3 4 10
timestamp
2019-01-20 13:23:01 1.0 NaN NaN NaN NaN
2019-01-20 13:24:02 NaN NaN 2.0 NaN NaN
2019-01-20 13:25:03 NaN 2.0 NaN NaN NaN
2019-01-20 13:26:02 NaN NaN NaN 1.0 NaN
2019-01-20 13:27:05 NaN NaN NaN NaN 2.0

解决:

import pandas as pd
from pandas import Timestamp info = {'class_': {0: 1, 1: 2, 2: 3, 3: 4, 4: 10},
'timestamp': {0: Timestamp('2019-01-20 13:23:00'),
1: Timestamp('2019-01-20 13:24:00'),
2: Timestamp('2019-01-20 13:25:00'),
3: Timestamp('2019-01-20 13:26:00'),
4: Timestamp('2019-01-20 13:27:00')},
'count': {0: 1, 1: 2, 2: 2, 3: 1, 4: 2}}
df = pd.DataFrame(info)
# df.pivot(index='timestamp', columns="class_", values="count").fillna(0)
df.pivot(index='timestamp', columns="class_", values="count")

2. 如何实现把一个属性的多列(属性唯一)合并成一列

例:

class_ 1 2 3 4 10
timestamp
2019-01-20 13:23:01 1.0 NaN NaN NaN NaN
2019-01-20 13:24:02 NaN NaN 2.0 NaN NaN
2019-01-20 13:25:03 NaN 2.0 NaN NaN NaN
2019-01-20 13:26:02 NaN NaN NaN 1.0 NaN
2019-01-20 13:27:05 NaN NaN NaN NaN 2.0

转为:

     class_    timestamp    count
0 10 2019-01-20 13:23:00 1
1 10 2019-01-20 13:24:00 2
2 10 2019-01-20 13:25:00 2
3 10 2019-01-20 13:26:00 1
4 10 2019-01-20 13:27:00 2

解决:

import pandas as pd
from pandas import Timestampinfo = {'class_': {0: 1, 1: 2, 2: 3, 3: 4, 4: 10},
'timestamp': {0: Timestamp('2019-01-20 13:23:00'),
1: Timestamp('2019-01-20 13:24:00'),
2: Timestamp('2019-01-20 13:25:00'),
3: Timestamp('2019-01-20 13:26:00'),
4: Timestamp('2019-01-20 13:27:00')},
'count': {0: 1, 1: 2, 2: 2, 3: 1, 4: 2}}
df = pd.DataFrame(info)
# df1 = _df.pivot(index='timestamp', columns="class_", values="count").dropna()
df1 = _df.pivot(index='timestamp', columns="class_", values="count")
df1 = _df.stack().reset_index()
df1.columns = ["class_", "count"]

pandas 初识(五)的更多相关文章

  1. pandas初识

    pandas初识 1.生成DataFrame型的数据 import pandas as pd import numpy as np dates = pd.date_range('20130101',p ...

  2. pandas 初识(四)

    Pandas 和 sqlalchemy 配合实现分页查询 Mysql 并获取总条数 @api.route('/show', methods=["POST"]) def api_sh ...

  3. pandas 初识(三)

    Python Pandas 空值 pandas 判断指定列是否(全部)为NaN(空值) import pandas as pd import numpy as np df = pd.DataFrame ...

  4. pandas 初识(一)

    基本内容 Series: Series 是有一组数据(numpy的数据类型 numpy.ndarray)以及一组数据标签(即索引)组成,可以看成一个一个定长的有序字典(索引值到数据值的一个映射) ob ...

  5. pandas 初识(二)

    基本统计 pivot_table(数据透视表 ): 使用appfunc, 按不同index分类统计各特征values的值 df.pivot_table(index="Pclass" ...

  6. pandas(五)处理缺失数据和层次化索引

    pandas用浮点值Nan表示浮点和非浮点数组中的缺失数据.它只是一个便于被检测的标记而已. >>> string_data = Series(['aardvark','artich ...

  7. pandas求五日线并画图

    import pandas as pd import numpy as np import matplotlib.pyplot as plt stock_data = pd.read_csv('000 ...

  8. pandas 初识(六)-可视化

    Pandas 在一张图中绘制多条线 import pandas as pd import numpy as npimport matplotlib.pyplot as plt df = pd.Data ...

  9. 利用Python进行数据分析-Pandas(第五部分-数据规整:聚合、合并和重塑)

    在许多应用中,数据可能分散在许多文件或数据库中,存储的形式也不利于分析.本部分关注可以聚合.合并.重塑数据的方法. 1.层次化索引 层次化索引(hierarchical indexing)是panda ...

随机推荐

  1. 双显卡安装Ubuntu 18.04和NVIDIA驱动

    踩坑笔记: 用软碟通制作UBUNTU18.04 LTS启动盘 长按DEL键进入BIOS,关闭Security Boot,设置USB优先启动 在黑白的grub引导界面(第一行是Try Ubuntu- 第 ...

  2. ggplot2|玩转Manhattan图-你有被要求这么画吗?

    本文首发于“生信补给站”,ggplot2|玩转Manhattan图-你有被要求这么画吗?更多关于R语言,ggplot2绘图,生信分析的内容,敬请关注小号. Manhattan图算是GWAS分析的标配图 ...

  3. HotStuff共识协议详解

    1. 前言 HotStuff提出了一个三阶段投票的BFT类共识协议,该协议实现了safety.liveness.responsiveness特性.通过在投票过程中引入门限签名实现了O(n)的消息验证复 ...

  4. react-native 信鸽推送集成

    目录 一. git链接: react-native-xinge-push 1.1 安装 1.2. link 二. android配置 2.1. android/settings.gradle 2.2. ...

  5. [TimLinux] JavaScript 引用类型——Date

    1. Date var now = new Date(); // 不传参数,获取当前日期.时间. now.getDay(); // 日期 now.getMonth(); // 月份 now.getFu ...

  6. CF240E Road Repairs(最小树形图-记录路径)

    A country named Berland has n cities. They are numbered with integers from 1 to n. City with index 1 ...

  7. CodeForces985G Team Players

    G. Team Players time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...

  8. Python学习笔记之二——Python的运行机制,一般人肯定不会

    前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:XX   Python解释器简介   解释器是一种让其他程序运行起来的程 ...

  9. 用tensorflow求偏导

    # coding:utf-8 from __future__ import absolute_import from __future__ import unicode_literals from _ ...

  10. 【Java Web开发学习】Spring配置数据源

    Spring配置数据源 转载:https://www.cnblogs.com/yangchongxing/p/10027495.html =============================== ...