Python数据分析
《利用Python进行数据分析》
数据处理的例子:
JSON格式文本
- records一个元素,是字典对象
{'a': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.78 Safari/535.11',
'al': 'en-US,en;q=0.8',
'c': 'US',
'cy': 'Danvers',
'g': 'A6qOVH',
'gr': 'MA',
'h': 'wfLQtf',
'hc': 1331822918,
'hh': '1.usa.gov',
'l': 'orofrog',
'll': [42.576698, -70.954903],
'nk': 1,
'r': 'http://www.facebook.com/l/7AQEFzjSi/1.usa.gov/wfLQtf',
't': 1331923247,
'tz': 'America/New_York',
'u': 'http://www.ncbi.nlm.nih.gov/pubmed/22415991'}
(一)Frame结构
空 | heartbeat | a | al | … |
---|---|---|---|---|
0 | NaN | Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKi… | en-US,en;q=0.8 | … |
1 | NaN | GoogleMaps/RochesterNY | NaN | … |
2 | NaN | … | … | … |
- 里面有NA缺失值,或空。使用fillna函数
clean_tz = frame['tz'].fillna('Missing')
clean_tz[clean_tz == ''] = 'Unknown'
- 在[]里面赋值是错误的!list1[var_emp=(list1==”)]=’Unknown’
list1=['a','b','e',3,4,'']
list1[list1=='']
'a'
- 说明==不完全等价list==
from pandas import DataFrame,Series
import pandas as pd
list_dict=[{'name':'','age':23,'gender':'female'},
{'name':'merry','age':23,'gender':'female'},
{'name':'smith','age':24,'gender':'male'}]
frame = DataFrame(list_dict)
frame_name=frame['name']
frame_name[frame_name=='']='Unknown'
frame_name[:]
- 结果:
A value is trying to be set on a copy of a slice from a DataFrame
header 1 | header 2 |
---|---|
0 | Unknown |
1 | merry |
2 | smith |
Name: name, dtype: object
- frame相当于一个字典?不是,是一个自定义的数据结构:pandas.core.frame.DataFrame。
- frame有种对象frame[‘tz’],是pandas.core.series.Series对象,==不完全等价list==。可以用切片方法访问列表元素。
frame['tz'][:10]
0 America/New_York
1 America/Denver
2 America/New_York
3 America/Sao_Paulo
4 America/New_York
5 America/New_York
6 Europe/Warsaw
7
8
9
Name: tz, dtype: object
- Series的value_counts方法:
对列表中的值进行统计。
(二)画图
- 流程