0%

3.为什么pandas命令以括号结尾,其他的命令不呢?(源码见demo3.py)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/usr/bin/env python
# encoding: utf-8

import pandas as pd

movies = pd.read_csv('https://blog.searchinfogo.com/download/data/data/imdb_1000.csv')
head = movies.head()
print(head)

describe = movies.describe()
print(describe)

shape = movies.shape
print(shape)

dtypes = movies.dtypes
print(dtypes)

print(type(movies))

movies.describe(include=['object'])

4. 在pandas DataFrame 中重命名列名(源码见demo4.py)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/usr/bin/env python
# encoding: utf-8

import pandas as pd

ufo = pd.read_csv('https://blog.searchinfogo.com/download/data/data/ufo.csv')

head = ufo.head()

print(head)

print(ufo.columns)

ufo.rename(columns={'Colors Reported': 'Colors_Reported', 'Shape Reported': 'Shape_Reported'}, inplace=True)

print(ufo.columns)

ufo_cols = {'city', 'colors reported', 'shape reported', 'state', 'time'}

ufo.columns = ufo_cols

print(ufo.head())

ufo = pd.read_csv('https://blog.searchinfogo.com/download/data/data/ufo.csv', names=ufo_cols, header=0)
print(ufo.head())

print(ufo.columns)

ufo.columns = ufo.columns.str.replace(' ', '_')
print(ufo.columns)

5.在pandas DataFrame 中移除指定的行和列(源码见demo5.py)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/env python
# encoding: utf-8
import pandas as pd

ufo = pd.read_csv('https://blog.searchinfogo.com/download/data/data/ufo.csv')
print(ufo.head())
print(ufo.shape)

# axis=0 按行 axi=1 按列
ufo.drop('Colors Reported', axis=1, inplace=True)
print(ufo.head())

ufo.drop(['City', 'State'], axis=1, inplace=True)
print(ufo.head())

ufo.drop([0, 1], axis=0, inplace=True)
print(ufo.head())
print(ufo.shape)

视频p4
讲解了怎么通过使用ipython notebook ,调出对应pandas的方法或者函数的说明,在使用的时候可以通过点击对应方法,然后加上shift+tab键,
查看对应的说明。
视频p5
讲解了通过几种方法修改数据的列名
视频p6
讲解了通过drop 方法,移除对应的行列,通过这个方法,可以将数据中不需要的部分或者是无效数据进行清洗

pandas
最近在学python,正好看到一个讲解pandas的系列视频,正好做一下笔记,笔记会参考视频,同时也会参考pandas官方文档。

什么是pandas

pandas is an open source, BSD-licensed library providing high-performance, easy-to-use data structures and data analysis tools for the Python programming language.

完整的文档可以查看pandas的Cookbook

视频地址:
bilibili-使用 pandas 进行数据分析:Data analysis in Python with pandas

环境安装

  • 安装python环境
  • 安装pandas
    python 环境的安装,可以看之前的文章,在centos7上安装python。

pandas安装:
1.Mac上使用brew brew cask install anaconda
2.python -m pip install pandas https://pypi.douban.com/simple/
推荐使用第一种,anaconda的方式安装,比较方便
使用第二种的话,需要下载额外的一些包,需要根据实际情况进行下载,例如matplotlib;

视频使用的资源

[百度网盘]](https://pan.baidu.com/s/1UVT_S9BHJZS8ktjAc8Xpcw) 密码:dr78 (来自bilibili用户)
视频中的网络资源无法使用,可以使用上面百度网盘中的资源,或者使用我提供的地址

目录

1.读取表格数据到pandas中(源码见demo1.py)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/env python
# encoding: utf-8

import pandas as pd

''' 因为视频中的地址不可用,可以用网盘中的文件,或者用我提供的文件地址'''

orders = pd.read_table('https://blog.searchinfogo.com/download/data/data/chipotle.tsv')

print(orders)

head = orders.head()
print(head)

user_cols = ['user_id', 'age', 'gender', 'occupation', 'zip_code']
users = pd.read_table("https://blog.searchinfogo.com/download/data/data/u.user", sep='|', header=None, names=user_cols)
print(users)

2.从csv中读取数据(源码见demo2.py)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/usr/bin/env python
# encoding: utf-8

import pandas as pd

ufo = pd.read_csv('https://blog.searchinfogo.com/download/data/data/ufo.csv')

type = type(ufo)

print(type)

ufo.head()

type(ufo['City'])

print(ufo['City'])

ufo.shape

ufo.City + ufo.State

ufo['Location'] = ufo.City + ',' + ufo.State

print(ufo['Location'])

总结:
上面的代码涉及视频p1-p3,讲解了pandas如何读取数据,从table、csv中读取数据,并在pandas中组合出一些数据,这些过程涉及
生产数据、获取数据、准备数据几个过程,在实际的使用过程中,用户的操作,或者是其他过程会产生大量的数据,然后获取数据读取到
pandas中,并对数据进行清洗,取出掉无效或者错误的数据,之后最数据进行更深入的分析。

因为种种原因,没有按时写博客,最近准备把博客重新拾起来。
最近在写一个项目,使用到了okhttp的代理,因为使用的代理是付费的,所以需要鉴权。在使用的过程中碰到了一些问题所以记录一下

阅读全文 »

关于并发

并发在开发中广泛的应用,非常的重要,最近在读《Java并发编程的艺术》艺术,希望写一些东西来记录和巩固。

阅读全文 »

最近在写一个Node的项目,项目中碰到了不少问题,做一个记录。

阅读全文 »

frp 原理

frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。

阅读全文 »

定期升级电脑上的应用,是个好习惯,避免在需要使用的时候,出现各种莫名其妙的问题。

阅读全文 »

由于npm的源在国外,所以有时候使用起来,会碰到速度极慢的情况,好在一些公司做了源的同步,可以使用这些源来达到加速下载,减少等待时间。

阅读全文 »

Github 速度慢

众所周知的原因,国内的vps 从Github 上clone 源码的速度感人。于是查了一下,发现有两种方法可以提升从GitHub clone 代码的速度。

阅读全文 »

Netty 核心组件

  • Channel
  • 回调
  • Future
  • 事件和ChannelHandler

Channel

Channel 是Java NIO 的一个基本构造,是数据的载体,可以被打开或者关闭,连接或者断开连接。

回调

一个回调就是一个方法,一个指向已经被提供给另外一个方法的方法的引用。Netty 中使用回调来处理事件。

Future

Future 提供了另一种在操作完成时通知应用程序的方式。

ChannelHandler

ChannelHandler 是 Netty