《Python数据分析实战》4 pandas: Series DataFrame

  • 初始化Series

srs = pd.Series([1,2,3,4])

srs = pd.Series([1,2,3,4], index=['a','b','c','d'])

srs1 = pd.Series(srs2)

  • 布尔Series

srs>1:值是否大于1

srs.isin([2,3,4]):值是否在列表内

srs.isnull():值是否为np.nan

  • Series运算

srs/2:元素商

srs1+srs2:元素和,如果有index则按index对齐运算,非对齐元素为np.nan

  • Series排序

srs.sort_values()

  • Series遍历

for index, val in srs.items():

  index, val

  • Serise合并

pd.concat([srs1, srs2], axis=1)

  • 值个数计算

pd.value_counts(srs)

  • 初始化DataFrame

dat = pd.DataFrame({'a':[1,2,3],'b':[2,3,4]})

dat = pd.DataFrame({'a':[1,2,3],'b':[2,3,4]}, index=['one','two','three'])

dat = pd.DataFrame(np.arange(6).reshape((3,2)), index=['one','two','three'], columns=['a','b'])

dat = pd.DataFrame({'a':{'1':1,'2':2},'b':{'1':1,'2':2}})

  • DataFrame内置函数

dat.columns:列名

dat.index:行名

dat.values:所有元素

dat.one:获取列

dat['one']:获取列

dat[['one','two']]:获取多列

dat.iloc[2]:获取行

dat.iloc[[2,4]]:获取多行

dat[2:4]:获取连续多行

dat['one'][2]:获取元素

dat.at['rone','cone']:获取元素

dat.iat[1,2]:获取元素

dat.loc[0:2, ['one','two']]:获取多个元素,当行索引为字符串则不可用

dat.loc[['rone','rtwo'], ['cone','ctwo']]:获取多个元素

dat.T:转置

  • 布尔DataFrame

dat>1:值是否大于1

dat.isin([1,2,3]):值是否在列表内

dat.isnull():值是否为np.nan

  • 修改DataFrame

dat[0,2]=1:修改元素

del dat['two']:删除列

dat.drop(['two'], axis=0):删除行

dat.drop(['two'], axis=1):删除列

dat.reindex(index=['rone','rtwo'],columns=['one','three','four']):增加删除列

dat[["two", "one"]]:修改列顺序

  • DataFrame遍历

for index in dat.index: 按行遍历

  dat.loc[index]

for column in dat.columns: 按列遍历

  dat[column]

  • DataFrame运算

dat/2:元素商

dat1+dat2:元素和,按index对齐运算,非对齐元素为np.nan

  • DataFrame行列操作

dat.apply((lambda x: x.max() - x.min())):按列处理

def f(x):

  if x['3']%3 == 0:

    return pd.Series([x['2'],x['3']])

  return pd.Series([x['0'],x['1']])

dat.apply(f,axis=1):按行处理

  •  DataFrame排序

dat.sort_values(by=['a'],axis=1,ascending=False)

dat.sort_values(by=['a','b'],axis=1,ascending=False)

 

 

 

 

 

参考文献:

https://blog.csdn.net/junbujianwpl/article/details/70473659

https://blog.csdn.net/wr339988/article/details/65446138

https://blog.csdn.net/a19990412/article/details/81945315

posted @ 2018-07-27 11:27  jhc888007  阅读(207)  评论(0编辑  收藏  举报