python pandas模块使用

文件目录:
这里写图片描述

import pandas as pd
import numpy as np
titanic_survial = pd.read_csv("titanic_train.csv")
#print(titanic_survial.head(1))
####泰坦尼克获救
##PassengerId(编号),Survived(标签,分类标准),Pclass(仓位等级),Name(姓名),Sex(性别),Age,SibSp(当前这个人所有兄弟姐妹的数量),Parch(老人和孩子的数量),Ticket(船票编号,用不到),Fare(这个人的船票价格),Cabin(这个人的船舱编号,NaN是缺失值),Embarked(当前这个人登船的地点,有三个# )
age = titanic_survial['Age']
# print(age.loc[0:10])
age_is_null = pd.isnull(age) ###返回为True    False
# print(age_is_null)
age_null_true = age[age_is_null]  ##1.先isnull 判断是否是一个缺失值,然后通过age[age_is_null]  拿到所有缺失值得索引。可以传进来值,也可以传进来True,False
#print(age_null_true)
age_null_true = len(age_null_true)
#print(age_null_true)
###这就是对缺失值得处理
##求平均年龄
mean_age = sum(titanic_survial["Age"]) / len(titanic_survial["Age"])
#print(mean_age)   ###因为有缺失值,但是算不出来。
###缺失值填充手段,直接去掉缺失值
good_ages = titanic_survial["Age"][age_is_null == False]
#print(good_ages)
#correct_mean_age = sum(good_ages) / len(good_ages)
#print(correct_mean_age)
##方案二:
correct_mean_age = titanic_survial["Age"].mean()   ##使用.mean,不建议。通常可以使用样本的均值来填补
#print(correct_mean_age)
##分别求不同仓位等级的平均价格
passengert_class = [1,2,3]
fares_by_class = {}
for this_class in passengert_class:
    pclass_rows = titanic_survial[titanic_survial["Pclass"] == this_class]  ###1.先筛选出所有的 1 级餐位
    pclass_fares = pclass_rows["Fare"]  ##2.定位到价格
    fare_for_class = pclass_fares.mean() ###3.求出平均值
    fares_by_class[this_class] = fare_for_class
#print(fares_by_class)
#######需求:住一等舱平均获救了多少人,住二等舱,三等舱。。。。
passenger_suvival = titanic_survial.pivot_table(index="Pclass",values="Survived",aggfunc=np.mean)##index 指明 以谁为基准,values 是pclass和什么之间的关系,aggfunc 是指明这2个之间的什么关系。我们要算的是平均
#print(passenger_suvival)
###需求:住一等舱的平均年龄,二等,三等。
passenger_age = titanic_survial.pivot_table(index="Pclass",values="Age")##m默认求均值的操作
#print(passenger_age)
##需求:想同时看一下一个量和两个量之间的一个关系
port_stats = titanic_survial.pivot_table(index="Embarked",values=["Fare","Survived"],aggfunc=np.sum)###
#print(port_stats)
#                 Fare  Survived
# Embarked
# C         10072.2962        93
# Q          1022.2543        30
# S         17439.3988       217
###dropna 对缺失数据丢掉
drop_na_columns = titanic_survial.dropna(axis=1)
new_titanic_survival = titanic_survial.dropna(axis=0,subset=["Age","Sex"])####对着2个列,如果有缺失,丢弃
#axis = 0 代表对横轴操作,也就是第0轴;
#axis = 1 代表对纵轴操作,也就是第1轴;
#print(new_titanic_survival)
###定位到一个具体的值,行号和列好组成的。左边样本的编号,右边列明
row_index_83_age = titanic_survial.loc[83,"Age"]
row_index_1000_pclass = titanic_survial.loc[766,"Pclass"]
# print(row_index_83_age)
# print(row_index_1000_pclass)
######Age 降续排列
new_titanic_survival = titanic_survial.sort_values("Age",ascending=False)  ###ascending 默认升序
#print(new_titanic_survival)
titanic_reindexed = new_titanic_survival.reset_index(drop=True)  #####index 也按默认排序   原来的不要的用新的
# print('--------------')
# print(titanic_reindexed.loc[0:10])
##需求:内置函数实现不了的需求
def hundredth_row(column):
    hundredth_item = column.loc[99]
    return hundredth_item
hundredth_row = titanic_survial.apply(hundredth_row)
#print(hundredth_row)
##如何实现数据转换
def which_class(row):
    pclass = row["Pclass"]
    if pd.isnull(pclass):
        return "unknown"
    elif pclass == 1:
        return "First class"
    elif pclass == 2:
        return "Second Class"
    elif pclass == 3:
        return "Third Class"
classes = titanic_survial.apply(which_class,axis=1)
#print(classes)
from pandas import Series
fandango = pd.read_csv("fandango_score_comparison.csv")
series_film = fandango["FILM"]
series_rt = fandango["RottenTomatoes"]
#print(series_film)
#print(type(series_film))
film_names = series_film.values
#print(type(film_names))
#print(film_names)
rt_scores = series_rt.values

series_custom = Series(rt_scores,index=film_names)
print(series_custom[['Minions (2015)','Leviathan (2014)']])###只取2个
##排序功能的实现
original_index = series_custom.index.tolist()
sorted_index = sorted(original_index)
sorted_by_index = series_custom.reindex(sorted_index)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Pythonpandas模块是一个开源的数据分析和数据处理工具,它提供了高效、灵活和便捷的数据结构,例如Series和DataFrame,以及各种数据操作功能。 在pandas模块中,Series是一种一维标签数组,可以存储任意类型的数据,并且可以通过索引进行访问和操作。可以使用pandas.Series()函数创建一个空的Series对象。 pandas模块还支持多种数据类型的读取和处理。例如,可以使用pandas.read_html()函数读取HTML文件中的数据,使用pandas.read_json()函数读取JSON文件中的数据,使用pandas.read_csv()函数读取CSV文件中的数据。这些函数可以将读取的数据转换为DataFrame对象,方便进行进一步的数据处理和分析。 总结来说,pandas模块Python中一个功能强大且广泛应用于数据分析和数据处理的模块,它提供了丰富的数据结构和操作功能,使得数据的读取、处理和分析变得更加简单和高效。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Python pandas模块](https://blog.csdn.net/weixin_48994367/article/details/124848794)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [【Python模块学习】pandas模块简介](https://blog.csdn.net/weixin_46684578/article/details/121172727)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值