pandas

#coding=utf-8
import pandas as pd
import numpy as np
#创建Series
obj = pd.Series([4.5, 7.2, -5.3, 3.6], index=['d', 'b', 'a', 'c'])
#创建DataFrame
frame1 = pd.DataFrame(np.arange(9).reshape((3, 3)), index=['a', 'c', 'd'],
                     columns=['Ohio', 'Texas', 'California'])

frame2 = pd.DataFrame(np.random.randn(4, 3), columns=list('bde'),
                     index=['Utah', 'Ohio', 'Texas', 'Oregon'])

较完整的 DataFrame 构造器参数为:DataFrame(data=None,index=None,coloumns=None),columns 即 “name”

 

#修改DataFrame列名
total.columns = [u'全量']
#合并df。concat()
df.concat(total, active, withhold, axis=1) # 横向合并。增加的是列。
df.concat(total, active) # 纵向合并。增加的是行

#Series格式化
all[u'占比-主动'] =  (all[u'主动'] / all[u'全量']).map('{:,.3f}'.format)
df['cost'] = df['cost'].map('${:,.2f}'.format) # 参考

 

#1.reindex() 重新索引
obj = pd.Series([4.5, 7.2, -5.3, 3.6], index=['d','b', 'a', 'c'])
#reindex()
obj2 = obj.reindex(['a', 'b', 'c', 'd', 'e'])
#参数fill_value
obj3 = obj.reindex(['a', 'b', 'c', 'd', 'e'], fill_value=0)

#2.method用法。ffill向前填充
obj3 = pd.Series(['blue', 'purple', 'yellow'], index=[0, 1, 4])
obj3.reindex(range(6), method='ffill')
obj3.reindex(range(6), method='bfill')
frame = pd.DataFrame(np.arange(9).reshape((3, 3)), index=['a', 'c', 'd'],
                     columns=['Ohio', 'Texas', 'California'])
frame2 = frame.reindex(['a', 'b', 'c', 'd'])
#columns关键字 重新索引列
states = ['Texas', 'Utah', 'California']
frame.reindex(columns=states)
frame.reindex(index=['a', 'b', 'c', 'd'], method='ffill', columns=states)

 

当希望将函数应用到 DataFrame 对象的某一行或列时,可以使用 .apply(func, axis=0, args=(), **kwds) 方法。

比如 thresh=3,会在一行中至少有 3 个非 NA 值时将其保留。

inplace 参数
前面有个点一直没讲,结果整篇示例写下来发现还挺重要的。就是 Series 和 DataFrame 对象的方法中,凡是会对数组作出修改并返回一个新数组的,往往都有一个 replace=False 的可选参数。如果手动设定为 True,那么原数组就可以被替换。

 

求DataFrame的行数
len(df)

#列表中添加新元素.用append()
a = []
for i in range(1, 7):
    a = a.append(i)

#元组中添加新元素.用+(.. ,)
a = ()
for i in range(1, 7):
    a = a + (i, )


 

转载于:https://my.oschina.net/workhardforward/blog/911986

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值