那么问题来了:numpy已经能够帮助我们处理数据,能够结合matplotlib解决我们数据分析的问题,那么pandas学习的目的在什么地方呢?
所以, numpy能够帮助我们处理数值,但是pandas除了处理数值之外(基于numpy),还能够帮助我们处理其他类型的数据
# coding=utf-8
import pandas as pd
import string
a = {
string.ascii_uppercase[i]: i for i in range(10)}
print(pd.Series(a))
# 如果是字典类型呢?
temp_dict = dict(name="xiaoping", age=20, tel=100086)
b = pd.Series(temp_dict)
print(b)
输出结果:
A 0
B 1
C 2
D 3
E 4
G 6
H 7
I 8
J 9
dtype: int64
name xiaoping
age 20
tel 100086
dtype: object
对于一个陌生的series类型,我们如何知道他的索引和具体的值呢?
点击百度搜索:
Series.where(cond, other=nan, inplace=False, axis=None, level=None, errors=‘raise’, try_cast=False)
cond:bool 系列/数据帧、阵列式或可调用式
other:标量、系列/数据帧或可调用
inplace:布尔, 默认错误
axis:int,默认为"无"
level:int,默认为无
errors:str, [“引发”, “忽略”}, 默认 “引发”
try_cast:布尔, 默认错误
import numpy as np
import pandas as pd
import string
s = pd.Series(range(5))
print(s.where(s > 0))
print(s.mask(s > 0))
print(s.where(s > 1, 10)) # 小于1的替换为10
输出结果:
0 NaN
1 1.0
2 2.0
3 3.0
4 4.0
dtype: float64
0 0.0
1 NaN
2 NaN
3 NaN
4 NaN
dtype: float64
0 10
1 10
2 2
3 3
4 4
dtype: int64
import pandas as pd
# pandas读取csv中的文件
df = pd.read_csv("./dogNames2.csv")
print(df[(800 < df["Count_AnimalName"]) | (df["Count_AnimalName"] < 1000)])
输出结果
Row_Labels Count_AnimalName
0 1 1
1 2 2
2 40804 1
3 90201 1
4 90203 1
... ... ...
16215 37916 1
16216 38282 1
16217 38583 1
16218 38948 1
16219 39743 1
[16220 rows x 2 columns]
读取mongodb中的数据
改进与进阶练习请看下章dataframe的学习
from pymongo import MongoClient
import pandas as pd
client = MongoClient()
collection = client["douban"]["tv1"]
data = list(collection.find())
t1 = data[0]
t1 = pd.Series(t1)
print(t1)
输出显示:
E:\PycharmProjects\untitled\venv\Scripts\python.exe E:/PycharmProjects/untitled/数据分析/day03_pandas/page108.py
_id 59ba7f9b421aa91b08a43faa
info 王伟/潘粤明/王泷正/梁缘/剧情/犯罪/悬疑/2017-08-30(中国大陆)
original_price None
release_date 08.30
rating {'count': 23043, 'max': 10, 'value': 9}
description
title 白夜追凶
url https://m.douban.com/movie/subject/26883064/
price None
cover {'url': 'https://qnmob2.doubanio.com/view/movi...
uri douban://douban.com/tv/26883064
actions [可播放]
label None
subtype
directors [王伟]
actors [潘粤明, 王泷正, 梁缘]
date None
reviewer_name
forum_info {'id': 'tv/26883064', 'participant_count': 453...
type tv
id 26883064
tv_category chinese
tv_url_parameter filter_tv_domestic_hot
total_num None
parse_url https://m.douban.com/rexxar/api/v2/subject_col...
total 2123
dtype: object
Process finished with exit code 0
在运行读取mongodb中的数据 的代码的时候,下载mongoDB出现的问题:
2.刚刚安装的 mongodb数据库文件缺失很多工具,需要单独下载
下载工具集
将下载的工具集文件bin里的工具都复制到原先下载的mongodb的bin目录下即可
3. 在使用mongoresotore命令导入(douban)数据库时,一直错误
原因是该命令是在进入cmd命令是运行的,而不是运行后mongo再运行的
图1是正确的
豆瓣数据集