多语言展示
当前在线:1470今日阅读:23今日分享:25

pandas的基础知识(1)

Python是目前最流行最简单用途最广泛的编程语言,大数据时代最应该学习的一门编程语言。其中,数据分析的库pandas是Python最经典的库之一。DataFrame和Series是pandas最重要的2个数据结构。
工具/原料
1

python,anaconda,spyder,numpy,pandas

2

DataFrame,Series

方法/步骤
1

加载numpy和pandas,pandas中的 DataFrame,Series。列表生成DataFrame。df=DataFrame([21,35,26,19,30],columns=['Age'],index=list('abcde'))表示用列表[21,35,26,19,30]生成一个DataFrame命名为df,df的列名为'Age',df的索引为'abcde';df.index和df.columns来查看df的索引和列名;如图所示

2

使用df的索引操作数据。df.loc['b']表示索引为‘b’的数据;df.loc[['a','e']]表示索引为‘a’、‘e’的数据;df.loc[df.index[2:4]]表示先根据下标求出第3和第4个索引为‘c’和‘d’,然后再找出索引为‘c’和‘d’的数据;如图所示

3

df的统计计算、表达式、向量化操作。df.sum()、df.max()、df.abs()分别对df求和、求最大值、求绝对值;df.apply(lambda x:x**2+1)、df**2+1都是对df的每个元素进行平方再加1的操作,结果相同;如图所示

4

df新增列的操作。使用元组新增df的一列,命名为‘Salary’。例如:df['Salary']=(6000,15000,8000,5000,12000);使用DataFrame新增df的一列,命名为‘Name’。例如:DataFrame(['Zhang San','Li Si','Wang Wu','Zhao Liu','Chen Qi'],index=list('bcdea')),此时'Name'的数据会根据索引自动匹配数据;如图所示

5

df新增行的操作。使用字典新增df的一行,例如:df.append({'Name':'Sun Ba','Age':27,'Salary':10000},ignore_index=True),此时因为ignore_index=True,所以索引调整为简单编号;使用带索引的DataFrame新增df 的一行,例如:df=df.append(DataFrame({'Name':'Sun Ba','Age':27,'Salary':10000},index=['x']))将增加的数据的索引为‘x’,如图所示

6

两个DataFrame的连接(合并)。df.join(DataFrame([1,2,3,4,5,6],index=list('abcdxy'),columns=['buys'])表示df和列名为‘buys’的DataFrame连接,由于join默认是‘left’,所以索引为y的值被舍弃了;df=df.join(DataFrame([1,2,3,4,5,6],index=list('abcdxy'),columns=['buys']),how='outer')表示使用‘out’连接,取得是并集,显示了所有值;如图所示

7

缺失值不影响统计计算。df[['Salary','buys']].mean()表示对'Salary','buys'这2个字段分别计算平均值;df[['Salary','buys']].std()表示对'Salary','buys'这2个字段分别计算标准差;df[['Salary','buys']].skew()表示对'Salary','buys'这2个字段分别计算偏度;如图所示

注意事项
1

DataFrame根据索引操作数据的方法变更:ix已不建议使用了,改为使用loc

2

ignore_index=True表示不适用索引

3

缺失值自动使用NaN填充

4

join的参数除了left、out外,还有right(使用被连接对象索引)和inner(交集)

推荐信息