创建两个数据帧(在第一个数据帧中,每个数据点的所有功能都相同,第二个数据帧是对第一个数据帧的修改,为某些数据点引入了不同的功能):import pandas as pd

import numpy as np

import random

import time

import itertools

# Create a DataFrame where all the keys for each datapoint in the "features" column are the same.

num = 300000

NAMES = ['John', 'Mark', 'David', 'George', 'Kevin']

AGES = [25, 21, 12, 11, 16]

FEATURES1 = ['Post Graduate', 'Under Graduate', 'High School']

FEATURES2 = ['Football Player', 'Cricketer', 'Carpenter', 'Driver']

LABELS = [1, 2, 3]

df = pd.DataFrame()

df.loc[:num, 0]= ["name={0};age={1};feature1={2};feature2={3}"\

.format(NAMES[np.random.randint(0, len(NAMES))],\

AGES[np.random.randint(0, len(AGES))],\

FEATURES1[np.random.randint(0, len(FEATURES1))],\

FEATURES2[np.random.randint(0, len(FEATURES2))]) for i in xrange(num)]

df['label'] = [LABELS[np.random.randint(0, len(LABELS))] for i in range(num)]

df.rename(columns={0:"features"}, inplace=True)

print df.head(20)

# Create a modified sample DataFrame from the previous one, where not all the keys are the same for each data point.

mod_df = df

random_positions1 = random.sample(xrange(10), 5)

random_positions2 = random.sample(xrange(11, 20), 5)

INTERESTS = ['Basketball', 'Golf', 'Rugby']

SMOKING = ['Yes', 'No']

mod_df.loc[random_positions1, 'features'] = ["name={0};age={1};interest={2}"\

.format(NAMES[np.random.randint(0, len(NAMES))],\

AGES[np.random.randint(0, len(AGES))],\

INTERESTS[np.random.randint(0, len(INTERESTS))]) for i in xrange(len(random_positions1))]

mod_df.loc[random_positions2, 'features'] = ["name={0};age={1};smoking={2}"\

.format(NAMES[np.random.randint(0, len(NAMES))],\

AGES[np.random.randint(0, len(AGES))],\

SMOKING[np.random.randint(0, len(SMOKING))]) for i in xrange(len(random_positions2))]

print mod_df.head(20)

假设原始数据存储在名为df的数据帧中。在

解决方案1(每个数据点的所有功能都相同)

^{pr2}$

编辑:您需要做的一件事就是相应地编辑columns列表。在

每个点的解决方案可能相同(或者每个特征都相同)import pandas as pd

import numpy as np

import time

import itertools

# The following functions are meant to extract the keys from each row, which are going to be used as columns.

def extract_key(x):

return x.split('=')[0]

def def_columns(x):

lista = x.split(';')

keys = [extract_key(i) for i in lista]

return keys

df = mod_df

columns = pd.Series(df.features.apply(def_columns)).tolist()

flattened_columns = list(itertools.chain(*columns))

flattened_columns = np.unique(np.array(flattened_columns)).tolist()

flattened_columns

# This function turns each row from the original dataframe into a dictionary.

def function(x):

lista = x.split(';')

dict_ = {}

for i in lista:

key, val = i.split('=')

dict_[key ] = val

return dict_

df.features.apply(function)

arr = pd.Series(df.features.apply(function)).tolist()

pd.DataFrame.from_dict(arr)

python数据特征提取_训练数据的特征提取相关推荐

  1. python规模大小的指标是_训练数据多少才够用

    [导读]机器学习获取训练数据可能很昂贵.因此,机器学习项目中的关键问题是确定实现特定性能目标需要多少训练数据.在这篇文章中,我们将对从回归分析到深度学习等领域的训练数据大小的经验和研究文献结果进行快速 ...

  2. 云计算和python学哪个_大数据、云计算该如何学习?

    大数据之Linux+大数据开发篇 阶段一.大数据.云计算 - Hadoop大数据开发技术 课程一.大数据运维之Linux基础 本部分是基础课程,帮大家进入大数据领域打好Linux基础,以便更好地学习H ...

  3. python降维方法_机器学习数据降维方法总结(附python代码)

    介绍 在机器学习实战时,如果面对一个数据集具有上千个特征,那么对于模型训练将是一个巨大的挑战.面对如此多的数据变量,如果我们认真的去分析每一个变量将耗费我们几周甚至几个月的时间,那么你估计也要被开除了 ...

  4. Python基本语法_强制数据类型转换

    目录 目录 前言 软件环境 Python数据类型的显式转换 显式转换的多种类型 Non-String转换为String str函数 repr str和repr的区别 eval Non-int转换为in ...

  5. python 分析大数据日志_大数据Web日志分析 用Hadoop统计KPI指标实例

    可以带着下面问题来阅读文章 问题: 1.MapReduce在日志分析的作用 思考: 该如何架构kpi系统,需要考虑什么问题. kpi:关键绩效指标法,即KPI绩效考核,是企业绩效考核的方法之一,其特点 ...

  6. python tableau工作流_提取数据

    数据提取是保存的数据子集,您可以使用这些数据子集来改善性能,或利用原始数据中没有或不支持的 Tableau 功能.在创建数据的数据提取时,您可以通过使用筛选器和配置其他限制来减少数据总数.创建数据提取 ...

  7. python关键词对联_对联数据

    鼠年春节临近,来试试新的基于 GPT2-Chinese 自动对联系统:自动写对联(输入开头进行对联自动生成)和自动对对联(输入上联自动写下联).老的自动对联功能是去年基于深度学习机器翻译模型上线的一个 ...

  8. python做金融数据分析师_金融数据分析师的工作职责描述

    金融数据分析师负责为客户提供理财咨询.建议服务, 制定相应的投资组合和策略.下面是学习啦小编为您精心整理的金融数据分析师的工作职责描述. 金融数据分析师的工作职责描述1 职责: 1.利用相关软件进行金 ...

  9. python写进程_将数据作为后台进程在Python中写入磁盘

    您可以像这样尝试 using multiple processes: import multiprocessing as mp def compute(j): # compute a bunch of ...

最新文章

  1. Boosting和Bagging: 如何开发一个鲁棒的机器学习算法
  2. 高效JQuery编码
  3. 数据库性能优化的误区!
  4. 在notebook中如何能完整的显示长文本内容
  5. PHP进行生成并且导出CSV文件
  6. 【C++ 学习笔记】 MFC CEdit
  7. python3 函数注意要点
  8. 原来微信可以自定义!把这些功能全关闭后 真清爽!
  9. 聚焦强化学习,AAAI 2019杰出论文公布:CMU、斯坦福等上榜
  10. 【消费量预测】基于matlab碳排放约束下煤炭消费量预测【含Matlab源码 223期】
  11. linux下sybase创建数据库,Linux下Sybase数据库安装
  12. 网站渗透零基础教程 渗透测试工程师养成之路
  13. python信用卡管理源码_Python随机生成信用卡卡号的实现方法
  14. matlab计算星期,在matlab中计算周数
  15. 【论文阅读】The Devil is in the Channels: Mutual-Channel Loss for Fine-Grained Image Classification
  16. css 去除png图片黑色背景色,css的filter给png图片换色
  17. 管廊隧道怎么定位人员?分享管廊隧道人员定位系统解决方案
  18. 查看Debian版本号的方法
  19. ROS使用介绍——rosbag
  20. 微服务分布式架构中,如何实现日志链路跟踪?

热门文章

  1. integer加1_AP双语数学常用的术语(1)
  2. dmg文件转换iso ultraiso_mac去除dmg打开密码的方法
  3. get方法报空指针_智能指针shared_ptr踩坑笔记
  4. 使用eclipse自带制作帮助系统
  5. 用java创建一个简单的服务器
  6. html的选择器使用
  7. Java锁详解之ReentrantLock
  8. linux中配置jmeter环境变量,linux java 和jmeter 环境变量配置文件笔记(原)
  9. ubuntu mysql 5.7_Ubuntu 18.04 安装mysql5.7
  10. iOS - 修改 UITextField 的 clearButtton 样式