python pandas基礎

讀取文檔

#導入csv函數
food_info=pandas.read_csv("food_info.csv")
print(type(food_info))
print(food_info.dtypes)

基本操作

#幫助文檔
print(help(pandas.read_csv))
food_info.head(3)#前三行數據
food_info.tail(5)#後5行數據
food_info.columns#列名
food_info.shape#大小

food_info.loc[0]#定位第一個數據
food_info.loc[3:6]
food_info.loc[[2,5,10]]#第2,5,10行數據
#

#
#打印整列
ndb_col=food_info["NDB_No"]
print(ndb_col)
columns=["Zinc_(mg)","Copper_(mg)"]
zinc_copper=food_info[columns]
print(zinc_copper)
#

#
col_names=food_info.columns.tolist()#以列表形式展示
gram_columns=[]
for c in col_names:
    if c.endswith("(g)"):
        gram_columns.append(c)
gram_df=food_info[gram_columns]
print(gram_df.head(3))
#

#新加入一列
water_enger=food_info["Water_(g)"]*food_info["Energ_Kcal"]
iron_grams=food_info["Iron_(mg)"]/1000
food_info["Iron_(g)"]=iron_grams
#

#排序
food_info.sort_values("Sodium_(mg)",inplace=True)
print(food_info["Sodium_(mg)"])
food_info.sort_values("Sodium_(mg)",inplace=True,ascending=False)#降序
#

觀察屬性

import pandas as pd
import numpy as np
titanic_survival=pd.read_csv("titanic_train.csv")
titanic_survival.head

#觀察屬性
age=titanic_survival["Age"]
age_is_null=pd.isnull(age)#返回缺失值的索引
age_null_true=age[age_is_null]#找出所有的缺失值
age_null_count=len(age_null_true)
#

清除缺失值

#需要清除缺失值
mean_age=sum(titanic_survival["Age"])/len(titanic_survival["Age"])
print(mean_age)
#返回值是nan

#正確做法
good_ages=titanic_survival["Age"][age_is_null==False]
correct_mean_age=sum(good_ages)/len(good_ages)
print(correct_mean_age)
#

#或者直接使用函數
correct_mean_age=titanic_survival["Age"].mean()
print(correct_mean_age)
#

求某個屬性值的平均值、和

#求某一個屬性值的平均值
passenger_classes=[1,2,3]
fares_by_class={}
for this_class in passenger_classes:
    pclass_rows=titanic_survival[titanic_survival["Pclass"]==this_class]
    pclass_fares=pclass_rows["Fare"]
    fare_for_class=pclass_fares.mean()
    fares_by_class[this_class]=fare_for_class
print(fares_by_class)
#

#直接使用函數
port_stats=titanic_survival.pivot_table(index="Embarked",values=["Fare",
                                                                 "Survived"],
                                                    aggfunc=np.sum)
print(port_stats)
passenger_age=titanic_survival.pivot_table(index="Embarked",values="Age")
print(passenger_age)#默認值爲求平均
#

去除缺失值

#去除缺失值
drop_na_columns=titanic_survival.dropna(axis=1)
new_titanic_survival=titanic_survival.dropna(axis=0,subset=["Age","Sex"])
#

定位

#定位
row_index_83_age=titanic_survival.loc[83,"Age"]
row_index_1000_pclass=titanic_survival.loc[766,"Pclass"]
print(row_index_83_age)
print(row_index_1000_pclass)
#

排序

#排序
new_titanic_survival=titanic_survival.sort_values("Age",ascending=False)#樣本編號亂序
titanic_reindex=new_titanic_survival.reset_index(drop=True)#樣本編號也改爲從0開始
#
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章