Pandas是一个在机器学习中用做处理和分析输入数据的Python库,本文只是对其的简单用法总结,更详细的用法请参考官方文档

基本概念

Pandas中的主要数据结构有下列两类:

  • DataFrame,可以看做一个关系型数据表格,其中包含多个行(存放数据)和已命名的列。
  • Series,为单一列。在DataFrame中包含一个或多个Series,每个Series都有名称。

创建Series对象:
pd.Series(['Shanghai','Beijing','Tianjin'])
创建DataFrame对象:

city_names = pd.Series(['Shanghai','Beijing','Tianjin'])
population = pd.Series([222,444,666,8888])

pd.DataFrame({'City name':city_names, 'Population': population})

若长度不一致,则用Na/NaN填充。
DataFrame

也可加载整个csv文件到DataFrame中:

california_housing_dataframe = pd.read_csv("https://storage.googleapis.com/mledu-datasets/california_housing_train.csv", sep=",")
california_housing_dataframe.describe()
california_housing_dataframe.head()

使用DataFrame对象的describe()函数来对导入的数据进行统计,使用head()函数可以列出前五行的数据。
DataFrame_Describe_func_and_Head_func

访问数据

读取数据时,使用python语法的dict/list语法即可:

cities = pd.DataFrame({ 'City name': city_names, 'Population': population })
print type(cities['City name'])
cities['City name']

get_data

操控数据

Series数据可以直接应用python运算符来对其中每一个值进行运算,例如:
population * 100
popu1000

pandas Series可以用做大多数numpy函数的参数!

使用Series.apply()可以处理复杂的转换,apply函数支持像map函数一样接收lambda函数为参数:
population.apply(lambda val:val > 555)
apply_func

向DataFrame添加Series只需:

cities['Area square miles']=[333,444,555,666]
cities['Population density'] = cities['Population']/cities['Area square miles']

注意在进行运算的时候,需保证运算双方Series相对应的位置无NaN缺省值。
add_series

索引

Series 和 DataFrame 对象也定义了 index 属性,该属性会向每个 Series 项或 DataFrame 行赋一个标识符值。

默认情况下,在构造时,pandas 会赋可反映源数据顺序的索引值。索引值在创建后是稳定的;也就是说,它们不会因为数据重新排序而发生改变。

这个我还没琢磨透……还是不说话了

完。

Reference

Google出品的Pandas简介