1DadaFrame和Series创建
通过GroupBy创建DF对象
sn_group=data.groupby('SN')
purchase_count=sn_group.count().Price
average_purchase_price=sn_group.mean().Price.round(2)
total_purchase_price=sn_group.sum().Price
spender_summary=pd.DataFrame({"Purchase Count":purchase_count,
"Average Purchase":average_purchase_price,
"Total Purchase Value":total_purchase_price})
spender_summary.sort_values('Total Purchase Value',ascending=False,inplace=True)
spender_summary.head(10)
注意:purchase_count和average_purchase_price、total_purchase_price都是Series对象,并且它们的index都是一样的
第二种处理Series组成一个DF
#Age Demographics
age_bins = [0, 9, 14, 19, 24, 29, 34, 39, 100]
group_labels = ["<10", "10-14", "15-19", "20-24", "25-29", "30-34", "35-39", "40+"]
#9个数字 8个区间
data['Age_group']=pd.cut(data.Age,age_bins,labels=group_labels) #后面增加一列Age_group 原始数据780行就增加780个年龄区间
age_groupy=data.groupby('Age_group')
age_df=age_groupy["SN"].nunique()
age_df.name='Total Count' #age_df和age_percent_df的name都是SN所以要改为不同的名字作为列名
age_df #Series类型
age_percent_df=round((age_df/age_df.sum())*100,2)
age_percent_df.name='%Percentage of Players' avg_purchase_price=age_groupy['Price'].mean()#等价avg_purchase_price=age_groupy.mean().Price avg_purchase_price=age_groupy.mean()是一个DF对象
avg_purchase_price.name='avg_purchase_price'
total_purchase_price=age_groupy['Price'].sum()
total_purchase_price.name='total_purchase_price' summary_age_df=pd.concat([age_df,age_percent_df,avg_purchase_price,total_purchase_price],axis=1) #列拼接
summary_age_df.reset_index(inplace=True)
任意举出一个age_groupy.nunique()就是DF的例子 。age_groupy.mean();age_groupy.count()...都是一个DF

把不同的字段组成一个DF,各项之间没有关系,字段用[]阔起来,外面是一个字典{}
#Number of Unique Items
unique_items=data['Item ID'].nunique() #Average Purchase Price
avg_purchase=data.Price.mean() #Total Number of Purchases
total_purchases=data.SN.count() #Total Revenue
total_revenue=data.Price.sum() summary_df = pd.DataFrame({"Number of Unique Items":[unique_items],
"Average Price":[avg_purchase],
"Number of Purchases":[total_purchases],
"Total Revenue":[total_revenue]})
summary_df

列表list[]转为DF 形如[(),(),(),]列表里面套元组形式
#Gender Demographics 性别特征
def gender_Percentage1(gender,):
gender_count=data.loc[data.Gender==gender,'SN'].nunique()
gender_perc = ((gender_count/total_count)*100)
return gender,gender_count,gender_perc gender_laberls=np.sort(data.Gender.unique()).tolist()
total_count=data.SN.nunique()
result=[]
for gender in gender_laberls:
result.append(gender_Percentage1(gender))
gender_df1=pd.DataFrame(result,columns = ["Gender", "Total Count", "%Percentage of Players"])
gender_df1

最简单的通过字典创建DF

单个字典创建一个DF
Genre_temp=data.Genre.str.split(',').tolist() #[[],[],[]...]
genre_list=[i for j in Genre_temp for i in j] #里面有重复的但是没关系
import nltk
fdist=nltk.FreqDist(genre_list)
df=pd.DataFrame(fdist,index=[0]) #index=[0]一定要加一个索引是不是0无所谓
#df.T转置看起来更舒服一点
#genre=pd.Series(fdist).sort_values(ascending=False) #dist-->pd.Series 其实单个字典转为Series好一点

1DadaFrame和Series创建的更多相关文章
- Series 入门(创建和增删改查)
Series 是pandas两大数据结构中(DataFrame,Series)的一种.使用pandas 前需要将pandas 模块引入,因为Series和DataFrame用的次数非常多,所以将其引入 ...
- Pandas 数据结构Series:基本概念及创建
Series:"一维数组" 1. 和一维数组的区别 # Series 数据结构 # Series 是带有标签的一维数组,可以保存任何数据类型(整数,字符串,浮点数,Python对象 ...
- Pandas 0 数据结构Series
# -*- encoding:utf-8 -*- # Copyright (c) 2015 Shiye Inc. # All rights reserved. # # Author: ldq < ...
- 02. Pandas 1|数据结构Series、Dataframe
1."一维数组"Series Pandas数据结构Series:基本概念及创建 s.index . s.values # Series 数据结构 # Series 是带有标签的一 ...
- pandas.Series
1.系列(Series)是能够保存任何类型的数据(整数,字符串,浮点数,Python对象等)的一维标记数组.轴标签统称为索引. Pandas系列可以使用以下构造函数创建 - pandas.Series ...
- Pandas之Series
# Series 数据结构 # Series 是带有标签的一维数组,可以保存任何数据类型(整数,字符串,浮点数,Python对象等),轴标签统称为索引 import numpy as np impor ...
- Python笔记7----Pandas中变长字典Series
1.Series概念 类似一维数组的对象,由数据和索引组成 2.Series创建 用Series()函数创建,0,1,2为series结构自带的索引. 可以自己指定索引值,用index,也可以直接用字 ...
- pandas基础:Series与DataFrame操作
pandas包 # 引入包 import pandas as pd import numpy as np import matplotlib.pyplot as plt Series Series 是 ...
- pandas-21 Series和Dataframe的画图方法
pandas-21 Series和Dataframe的画图方法 ### 前言 在pandas中,无论是series还是dataframe都内置了.plot()方法,可以结合plt.show()进行很方 ...
随机推荐
- Docker初探之运行MySQL
在实际的开发中使用MySQL的也不少,如果要想在Docker中使用MySQL,那么第一步就需要拉取MySQL镜像. 一.拉取MySQL镜像 命令: docker pull mysql 如图: 拉取的是 ...
- akka-typed(9) - 业务分片、整合,谈谈lagom, 需要吗?
在讨论lagom之前,先从遇到的需求开始介绍:现代企业的it系统变得越来越多元化.复杂化了.线上.线下各种系统必须用某种方式集成在一起.从各种it系统的基本共性分析:最明显的特征应该是后台数据库的角色 ...
- 【LeetCode/LintCode】 题解丨微软面试题:大楼轮廓
水平面上有 N 座大楼,每座大楼都是矩阵的形状,可以用一个三元组表示 (start, end, height),分别代表其在x轴上的起点,终点和高度.大楼之间从远处看可能会重叠,求出 N 座大楼的外轮 ...
- C#算法设计排序篇之02-快速排序(附带动画演示程序)
快速排序(Quick Sort) 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/677 访问. 快速排序由C. A. R ...
- Vue 内联模板(inline-template)
内联模板不会把子组件的内容分发渲染到父组件中 而是需要在父组件中实现其内容的渲染 父组件 <template> <div> <template-inline inline ...
- 轻轻松松学CSS:position
position属性表示元素的定位类型,在CSS布局中,position发挥着非常重要的作用,一些元素的布局就是用position完成的,鉴于此,本文结合一些小实例详细讲解一下. position属性 ...
- 通过CMD远程操作Linux系统
一.文件传输 方法:使用sftp连接方式,sftp 是一个交互式文件传输程式.它类似于 ftp, 但它进行加密传输,比FTP有更高的安全性 命令: //登入:sftp username@ip sftp ...
- Spring Boot系列(二):Spring Boot自动装配原理解析
一.Spring Boot整合第三方组件(Redis为例) 1.加依赖 <!--redis--> <dependency> <groupId>org.springf ...
- java进阶(8)--匿名类
一.概念 1.内部类:类的内部定义了一个类 2.内部类分类:静态内部类.实例内部类.局部内部类 3.缺点:内部类的可读性比较差,尽量不用 2.匿名内部类:局部内部类的一种 二.匿名内部类的缺点 1 ...
- mac下protobuf配置记录
sudo vi /etc/profile加到文件底部 export PATH=$PATH:$GOBIN:/usr/local/go/bin export GOPATH=/Users/jinfuzhan ...