pandas基础操作

import pandas as pd

1、定义一个字典

data = {‘sales_volume‘: [100, 123, 446, 233, 456], ‘month‘: [‘1月‘, ‘2月‘, ‘3月‘, ‘4月‘, ‘5月‘]

, ‘product_id‘: [‘1112‘, ‘1113‘, ‘1114‘,‘1115‘,‘1116‘], ‘color‘:[‘red‘, ‘red‘, ‘black‘, ‘green‘, ‘black‘]}

2、将字典放入dataframe数据结构,自动生成一列数据做索引0-4

df = DataFrame(data)

print df

color month product_id  sales_volume

0    red    1月       1112           100

1    red    2月       1113           123

2  black    3月       1114           446

3  green    4月       1115           233

4  black    5月       1116           456

3、将dataframe数据处理为字典格式

keys = list(df.keys())

values = df.values

print keys,values

dicts = [dict(zip(keys, value)) for value in values]

print dicts

[{‘color‘: ‘red‘, ‘sales_volume‘: 100L, ‘product_id‘: ‘1112‘, ‘month‘: ‘1\xe6\x9c\x88‘}, {‘color‘: ‘red‘, ‘sales_volume‘: 123L, ‘product_id‘: ‘1113‘, ‘month‘: ‘2\xe6\x9c\x88‘}, {‘color‘: ‘black‘, ‘sales_volume‘: 446L, ‘product_id‘: ‘1114‘, ‘month‘: ‘3\xe6\x9c\x88‘}, {‘color‘: ‘green‘, ‘sales_volume‘: 233L, ‘product_id‘: ‘1115‘, ‘month‘: ‘4\xe6\x9c\x88‘}, {‘color‘: ‘black‘, ‘sales_volume‘: 456L, ‘product_id‘: ‘1116‘, ‘month‘: ‘5\xe6\x9c\x88‘}]

4、通过groupy计算和,精确到color

print df.groupby([‘product_id‘, ‘color‘]).sum()

product_id color    sales_volume

1112       red              223

1113       black           446

green          233

1116       black           456

时间: 2025-01-20 03:39:22

pandas基础操作的相关文章

pandas 基础操作 更新

创建一个Series,同时让pandas自动生成索引列 创建一个DataFrame数据框 查看数据 数据的简单统计 数据的排序 选择数据(类似于数据库中sql语句) 另外可以使用标签来选择 通过位置获取数据 布尔值索引 设定数值(类似于sql update 或者add) 缺失值处理 数据操作 统计个数与离散化 pandas 处理字符串(单独一个大的章节,这人不做详述) 数据合并 首先看concat合并数据框 merge方式合并(数据库中的join) Append方式合并数据 分组操作Groupb

《Pandas CookBook》---- DataFrame基础操作

Pandas基础操作 简书大神SeanCheney的译作,我作了些格式调整和文章目录结构的变化,更适合自己阅读,以后翻阅是更加方便自己查找吧 import pandas as pd import numpy as np 设定最大列数和最大行数 pd.set_option('max_columns',5 , 'max_rows', 5) 选取多个DataFrame列 用列表选取多个列 movie = pd.read_csv('data/movie.csv') cols =['actor_1_nam

基于 Python 和 Pandas 的数据分析(2) --- Pandas 基础

在这个用 Python 和 Pandas 实现数据分析的教程中, 我们将明确一些 Pandas 基础知识. 加载到 Pandas Dataframe 的数据形式可以很多, 但是通常需要能形成行和列的数据集. 所以可以是如下的 dictionary 的形式: web_stats = {'Day':[1,2,3,4,5,6], 'Visitors':[43,34,65,56,29,76], 'Bounce Rate':[65,67,78,65,45,52]} 我们可以通过如下方式把这个 dictio

【转】Python——DataFrame基础操作

Python——DataFrame基础操作 DataFrame理解 DataFrame可以看做是有序排列的若干Series对象,这里的“排列”是指这些Series都有共同的索引. 一.读取文件 dt = pd.read_csv(path) dt = pd.read_excel(path) dt = pd.read_table(path, sep=',') 二.索引 第一类索引是iloc属性,表示取值和切片都是显式的,dt.iloc[1:3] #注:从0开始的左闭右开区间 第二类索引是loc属性,

vsphere基础操作-网络

一.vsphere网络操作 概念: portgroup:通信端口组.在vsphere中,一共包含三种端口组. 1)管理网络:management network,可以理解为EXSI主机的管理IP地址.每个EXSI必须配置一个管理网络IP,使得vc能够管理到exsi.每个EXSI只能有一个唯一的管理网络. 2)内核:vmkernel,可以理解为EXSI的后端IP,使得后端各项功能能够实现.这里所说的后端功能指的是EXSI之间的通讯以实现VMOTION等高级功能.连入ISCSI或NAS等存储.FT功

Mysql安装和基础操作

1.环境检查: 先检查是否已经安装了:rpm -qa |grep mysql ---两个都检查下,查看mysql是否安装 rpm -qa |grep MySQL若安装有可删除:rpm -e ****** 2.安装:1)安装前准备:mkdir usr/mysql cd进入该目录,上传安装包到/usr/mysql目录下2)安装:rpm -ivh MySQL-server-5.0.16-0.i386.rpm rpm -ivh MySQL-elient-5.0.16-0.i386.rpm3)验证安装是否

双向链表的基础操作(C++实现)

★C++实现双向链表的基础操作(类的实现) #include<iostream> #include<cassert> using namespace std; typedef int DataType; class double_link_list {                        //定义双向链表类,包括了双向的前驱和后继指针,以及对象的初始化 public: friend class ListNode; double_link_list(DataType x =

数据结构-线性表的一些基础操作 c++代码

//线性表的顺序存储结构 template <class T> class Linearlist { public: Linearlist(int MaxListSize == 10); ~Linearlist() { delete []element; } bool IsEmpty() const { return length == 0; } bool IsFull() const { return length == MaxSize; } int Length() const { ret

php之文件基础操作

在php中对文件的基础操作非常的简单,php提供的函数粗略的用了一遍. file_get_contents():可以获取文件的内容获取一个网络资源的内容,这是php给我封装的一个比较快捷的读取文件的内容.网络资源的函数,此函数里面封装了对文件的打开,读取,关闭操作.一次性的将内容全部读取到内存中,相当方便,但是对于大文件或者网络资源较大的时候,不建议使用.file_put_contents():写入数据,和file_get_contents()类似. 文件的基础操作:touch()--新建,fo