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. C# 中的委托和事件(一)

    引言 委 托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易.它们就像是一道槛儿,过了这个槛的人,觉得真 是太容易了,而没有 ...

  2. uni-app之网络请求

    uni-app之网络请求 一,介绍 uni.request(OBJECT),发起网络请求,以下主要是一些特殊的参数说明,详细的可查看uni-app官网. 1,method的有效值必须是大写,默认GET ...

  3. ThinkPHP5——引入公共部分head和foot(多种方法)

    在项目中,header和footer重复使用的次数高,于是我们把header和footer作为公共部分,其他模板需要的话就引用.下面我教大家引用公共模板 1.使用include 首先在view下面新建 ...

  4. Android 自定义饼状图

    github 地址:https://github.com/dkest/PieView 简单分析 其实根据我们上面的知识已经能自己制作一个饼状图了.不过制作东西最重要的不是制作结果,而是制作思路. 相信 ...

  5. 一道时间复杂度为O(N)空间复杂度为O(1)的排序问题

    题目:对1, 2, ... , n的一个无序数组,排序,要求时间复杂度为O(N),空间复杂度为O(1). 思路:该题利用数组元素和数组下标相差1的关系,Java代码如下: import java.ut ...

  6. Vue.js命名风格指南

    前言 本命名风格指南推荐了一种统一的命名规范来编写 Vue.js 代码.这使得代码具有如下的特性: 统一团队的命名规范,其它开发者或是团队成员更容易上手阅读和理解. IDEs 更容易理解代码,从而提供 ...

  7. B.Silly Mistake

    题目:愚蠢的错误 题意:中心公司有一个办公室有一个成熟的安全系统,这里面有10^6个雇员,编号从1到10^6 安全系统有入口和出口,数字i表示第i个雇员进入,-i表示第i个雇员出去 公司有一些严格的规 ...

  8. Tesseract-OCR 字体库下载地址

    https://github.com/tesseract-ocr/tesseract/wiki/Data-Files

  9. 笔记||Python3之布尔表达式+条件判断

    布尔表达式:        布尔类型:特性:只有两种情况 ---   真  /  假 1 -- True    False 2 -- type(True) ------------ <class ...

  10. BIOS安全设置

    1.开机按F2进入BIOS 2.进入 Security 界面 3.Set user password 用户密码 开机密码 设置为123456 4.Set supervisor password 进BI ...