阅读路线:
准备工作
生成对象
索引
选择需要的数据
运算
合并(Merge)
分组(Grouping)
重塑(Reshaping)
数据透视表(Pivot Tables)
pandas DataFrame里的操作
一、准备工作
import numpy as np
import pandas as pd
在进行下面的题目操作时,一定要先导入上面的两个数据分析包pandas、numpy
二、生成对象
1. 如何用Python的列表创建一个series?
s = pd.Series([1, 3, 5, np.nan, 6, 8])
输出:
一个series是一个一维的标记数组,可以容纳任何数据类型(整数、字符串、浮点数、Python对象等)。必须记住,与Python列表不同,一个series总是包含相同类型的数据。
2.如何使用列表创建一个DataFrame?
# 导入pandas
import pandas as pd
# 字符串列表
lst = ["Gamer47","Shox","Simple"]
# 在列表中调用DataFrame构造函数
df = pd.DataFrame(lst)
输出:
3.如何使用Series 字典对象生成 DataFrame?
df2 = pd.DataFrame({'A': 1.,
'B': pd.Timestamp('20130102'),
'C': pd.Series(1, index=list(range(4)), dtype='float32'),
'D': np.array([3] * 4, dtype='int32'),
'E': pd.Categorical(["test", "train", "test", "train"]),
'F': 'foo'})
输出:
4.如何在pandas中创建一个空的DataFrame?
要创建一个完全空的pandas dataframe,我们使用以下操作:
import pandas as pd
df = pd.DataFrame()
输出:
三.查看数据:
已知有这样的数据,如何进行查看
dates = pd.date_range('20130101', periods=6)
df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list('ABCD'))
输出:
1. 如何查看头部数据?
2.如何查看尾部数据?
3.如何快速查看数据的统计摘要?
4.如何查询索引和列名?
四.索引
1.简述Pandas Index
在panda中建立索引意味着简单地从DataFrame中选择特定的数据行和列。
pandas支持四种类型的多轴索引,它们是:
Dataframe.[ ] 此函数称为索引运算符
Dataframe.loc[ ] : 此函数用于标签
Dataframe.iloc[ ] : 此函数用于基于位置或整数的
Dataframe.ix[] : 此函数用于基于标签和整数的
它们统称为索引器。这些是迄今为止索引数据最常见的方法。这四个函数有助于从DataFrame获取元素、行和列。
2.Pandas 定义重新索引(Reindexing)
重新索引会更改DataFrame的行标签和列标签。重新索引意味着使数据符合特定轴上给定的一组标签。
多个操作可以通过像这样的索引来完成:
重新排序现有数据以匹配一组新的标签。
在不存在标签数据的标签位置插入缺失值(NA)标记。
import pandas as pd
import numpy as np
N=20
df = pd.DataFrame({
'A': pd.date_range(start='2016-01-01',periods=N,freq='D'),
'x': np.linspace(0,stop=N-1,num=N),
'y': np.random.rand(N),
'C': np.random.choice(['Low','Medium','High'],N).tolist(),
'D': np.random.normal(100, 10, size=(N)).tolist()
})
df_reindexed = df.reindex(index=[0,2,5], columns=['A', 'C', 'B'])
print (df_reindexed)
输出:
3.如何设置索引?
panda set_index()是一种将列表、序列或dataframe设置为dataframe索引的方法。
语法:
DataFrame.set_index(keys, inplace=False)
参数:
keys:列标签或列标签/数组列表,需要设置为索引的列
inplace:默认为False,适当修改DataFrame(不要创建新对象)
改变索引列
在本例中,名称列被用作DataFrame的索引列
import pandas as pd
#就是读取csv文本文件到DataFrame变量中
data = pd.read_csv("employees.csv")
data.set_index("First Name", inplace = True)
#观察数据
data.head()
输出:
如输出图像所示,以前索引列是一系列数字
Before Operation –