Series对象
Series是Python的Pandas库中的一种数据结构,它类似一维数组,由一组数据以及与这组数据相关的标签(即索引)组成,或者仅有一组数据而没有索引也可以创建一个简单的Series对象。Series可以存储整数、浮点数、字符串、Python对象等多种类型的数据。
s=pd.Series(data, index=index)
获取Series的索引和值
获取Series的索引和值主要使用Series对象的index(函数)和values属性。
import pandas as pd
s1=pd.Series([80, 60, 75])
print(s1.values)
print(s1.index)
[80 60 75]
RangeIndex(start=0, stop=3, step=1)
DataFrame是Pandas库中的一种数据结构,它是由多种类型的列组成的二维表数据结构,类似于Excel、SQL或Series对象构成的字典。DataFrame是最常用的Pandas对象,它与Series对象一样支持多种类型的数据。
Dataframe既有行索引也有列索引,它可以看作是由Series对象组成的字典,不过这些Series对象共用一个索引。
导入HTML网页
导入HTML网页数据主要使用Pandas的read_html方法,该方法用于导入带有table标签的网页表格数据
pandas.read_html()参数自行查询
使用read_html方法前,首先要确定网页表格是否为table标签。右键检查表格元素,查看代码是否含有<table>...</table>字样,确定后才可以使用。
import pandas as pd
df = pd.DataFrame()
url_list = ['http://www.espn.com/nba/salaries/_/seasontype/4']
for i in range(2, 13):
url = 'http://www.espn.com/nba/salaries/_/page/%s/seasontype/4' % i
url_list.append(url)
#遍历网页中的table读取网页表格数据
for url in url_list:
df = df.append(pd.read_html(url), ignore_index=True)
#列表解析:遍历dataframe第3列,以子字符串$开头
df = df[[x.startswith('$') for x in df[3]]]
print(df)
df.to_csv('NBA.csv',header=['RK','NAME','TEAM','SALARY'], index=False)
0 1 2 3
1 1 Stephen Curry, PG Golden State Warriors $48,070,014
2 2 Russell Westbrook, PG Los Angeles Lakers $47,063,478
3 3 LeBron James, SF Los Angeles Lakers $44,474,988
4 4 Kevin Durant, PF Brooklyn Nets $44,119,845
5 5 Bradley Beal, SG Washington Wizards $43,279,250