Bootstrap

panads

1.panads改变索引

import pandas as pd
t = pd.Series([1,1,2,4,12,56,32])
print(t)

#index 是前面的索引 将1-5改成a-e
t2 = pd.Series([1,1,12,56,32],index=list("abcde"))
print(t2)
t2.dtype #查看字符类型
t2.astype(float)  #变动字符类型

2.读取数据--

1.输入pymongo

2.定义数据文件所在文件夹

from pymongo import MongoClient
df = pd.read_csv("F:/研究方向/6-软件操作/python/python-操作/12-人工智能阶段-数据分析/数据分析资料/day04/code/dogNames2.csv")
print(df)

3.dataframe的创立

import numpy as np
import pandas as pd
pd.DataFrame(np.arange(12).reshape(3,4))  #生成3行四列的数组
##index 设置数组的行序列  columns 设置数组的列序列
pd.DataFrame(np.arange(12).reshape(3,4),index=list("abd"),columns=list("wxyz")) 

#字典
d1 ={'name':["xiaohong","xiaogang"],"age":[28,30],"tel":[10086,10010]}
pd.DataFrame(d1)
print(type(d1))

3.2基本属性

df.shape列数
df.dtypes列数据类型
df.ndim数据维度
df.index行索引
df.colums列索引
df.values对象之,二维ndarray数组

3.3整体查询

df.head()显示头部几行,默认5行
df.tail()显示末尾几行,默认5行
df.info()相关信息预览
df.describe()

快速综合统计信息

4.dataframe索引和切片

print(df[:20])   # 取行
print(df["Row_Labels"])  # 取列  #Row_Labels是的列的序号名称
print(df[:20]["Row_Labels"]) ##取行列,位置不能更换


##由loc来进行索引处理数据
##由iloc来进行位置处理数据
import numpy as np
t3 = pd.DataFrame(np.arange(12).reshape(3,4),index = list("abc"),columns = list("wxyz"))
print(t3)
t3.loc["a","z"] # 在a行z列所在位置的数组
t3.loc[:,["w","z"]] #列出两列
t3.loc[["a","c"],:] #列出两行

t3.iloc[1,:]

5.数据的赋值,增删减

##赋值
t3.iloc[1:,:2]  = np.nan
print(t3)
t3.iloc[1:,:2]  = 10

#确实数据的处理
import pandas as pd
import numpy as np
t3 = pd.DataFrame(np.arange(12).reshape(3,4),index = list("abc"),columns = list("wxyz"))
print(t3)
t3.iloc[1:,:2]  = np.nan
print(t3)
"""
1.判断是否有nan
2.删除
"""
pd.notnull(t3)
t3[pd.notnull(t3["w"])] #t3W列中不含nan的列
#删除行
t3.dropna(axis=0)
t3.dropna(axis=0,how="all") #删除全部为nan的行,不是就不删除.删除本身不会对t3产生变化
t3.dropna(axis=0,how="any") #删除有nan的行
t3.dropna(axis=0,how="all",inplace=True) #inplace原地替换t3
#填充
t3.fillna(100)
t3.fillna(t3.mean())

t3["y"].mean() #y列的均值

6.常用统计方法

df = pd.read_csv("数据文件所在位置")
print(df.info())
print(df.head(1))

#获取平均评分
print(df["Rating"].mean())

#导演的人数
print(len(set(df["Director"].tolist())))

#获取演员的人数
t5 =df["Actors"].str.split(",").tolist()
actors_list = [i for j in t5 for i in j]
np.array(t5).flatten()
actors_list =list(np.array(actors_list).flatten())
actors_list =len(set(actors_list))
print(actors_list)
# print(type(actors_list))
actors_num =len(set(actors_list))
print(actors_num)

#电影时长的最大最小值
max_runtime = df["Runtime(Minutes)"].max()
max_runtime_index = df["Runtime(Minutes)"].argmax()
min_runtime = df["Runtime(Minutes)"].min()
min_runtime_index = df["Runtime(Minutes)"].argmin()
runtime_median = df["Runtime(Minutes)"].median()

;