首页 > pandas学习之Series结构

pandas学习之Series结构

#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
系列(值的集合)
DataFrame数据包(系列对象的集合)
panel(数据文件对象的集合)
一个系列对象可以保存许多数据类型,包括
浮点数表示浮点数
表示整数值的
布尔布尔值表示布尔值
表示日期和时间,没有时区的
用日期时区表示日期和时间
表示时间和时间(秒,分钟等)的差异的时间δ[NS]
表示类别值的类别
表示字符串值的对象
电影胶片名
# rottentomatoes -烂番茄影评平均得分
# rottentomatoes_user烂番茄用户平均得分
# rt_norm -烂番茄影评平均得分(归一化到0到5点的系统)
# rt_user_norm烂西红柿用户平均得分(归一化到0-5点系统)
亚元主义-元主义批评家平均分
亚元用户-元用户平均得分
"""
#series结构 学习
import pandas as pd
import numpy as np
fandango = pd.read_csv('fandango_score_comparison.csv')
series_film = fandango['FILM']
print(type(series_film))
print(series_film[0:5])  #FILM这一列前0-5个
series_rt = fandango['RottenTomatoes']   #RottenTomatoes前0-5个
print(series_rt[0:5])from pandas import Seriesfilm_names = series_film.values
print(type(film_names))
#print(film_names)
rt_scores = series_rt.values  #得分值来自:RottenTomatoes
#print(rt_scores)
series_custom = Series(rt_scores,index=film_names) #以电影名字为索引
print(series_custom[['Minions (2015)','Leviathan (2014)']]) #输出这两部电影的评分
fiveten = series_custom[5:10]  #以电影名字为索引,打印前5-10部电影和评分
print(fiveten)sc2 = series_custom.sort_index()
sc3 = series_custom.sort_values()  #以这两种都可以进行排序 sc2[2:10}
print(np.add(series_custom,series_custom)) #相加操作#will actually return a Series object with a boolean value for each film
series_custom > 50
series_greater_than_50 = series_custom[series_custom > 50]criteria_one = series_custom > 50
criteria_two = series_custom < 75   #评分在这一段的电影和分数
both_criteria = series_custom[criteria_one & criteria_two]
print(both_criteria)
print('--------')
#data alignment same index
rt_critics = Series(fandango['RottenTomatoes'].values, index=fandango['FILM'])
rt_users = Series(fandango['RottenTomatoes_User'].values, index=fandango['FILM'])
rt_mean = (rt_critics + rt_users)/2   #两个媒体评分的平均值
print(rt_mean)
print('分割线——————')
print(type(fandango))
fandango_films = fandango.set_index("FILM",drop=False)
print(fandango_films.index)  #打印出索引值 列名
#在选择多行时,返回数据文件,但是选择一个单独的行时,将返回一个系列对象。
fandango_films["Avengers: Age of Ultron (2015)":"Hot Tub Time Machine 2 (2015)"]
fandango_films.loc["Avengers: Age of Ultron (2015)":"Hot Tub Time Machine 2 (2015)"]
# Specific movie
fandango_films.loc['Kumiko, The Treasure Hunter (2015)']
# Selecting list of movies
movies = ['Kumiko, The Treasure Hunter (2015)', 'Do You Believe? (2015)', 'Ant-Man (2015)']
print(fandango_films.loc[movies])print('继续分割——————')
types = fandango_films.dtypes
float_columns = types[types.values == 'float64'].index  #类型转换
float_df = fandango_films[float_columns]
deviations = float_df.apply(lambda x: np.std(x))
rt_mt_user = float_df[['RT_user_norm','Metacritic_user_nom']]
rt_mt_user.apply(lambda x: np.std(x), axis=1) # 对以上两个列做了变换
print(rt_mt_user)

 

转载于:https://www.cnblogs.com/lifengwu/p/9816683.html

更多相关:

  • pandas库,含有使数据清洗和分析工作变得更快更简单的数据结构和操作工具。pandas是基于NumPy数组构建。 pandas常结合数值计算工具NumPy和SciPy、分析库statsmodels和scikitlearn,和可视化库matplotlib等工具一同使用。 5.1 pandas数据结构介绍 pandas的主要数据结构:S...

  • BZOJ4551: [Tjoi2016&Heoi2016]树 Description 在2016年,佳媛姐姐刚刚学习了树,非常开心。现在他想解决这样一个问题:给定一颗有根树(根为1),有以下两种操作: 1. 标记操作:对某个结点打上标记(在最开始,只有结点1有标记,其他结点均无标记,而且对于某个结点,可以打多次标记。) 2. 询问操...

  •    用longlong替换__int64也成。 #define LL long long 输入输出用%lld Problem: 3468 User: qq1203456195Memory: 4284K Time: 1579MSLanguage: C Result: Accepted  #include #def...