Pandas常用命令-2

计数

s = pd.Series(np.random.randint(0, 7, size=10))
s.value_counts()
Pandas常用命令-2_第1张图片

把数据拼接起来

df = pd.DataFrame(np.random.randn(10, 4))
pieces = [df[:3], df[3:7], df[7:]]
pd.concat(pieces)
Pandas常用命令-2_第2张图片

Join ( left, right, inner, outer )

http://pandas.pydata.org/pandas-docs/stable/merging.html#merging-join

left = pd.DataFrame({'key' : ['foo', 'foo'],
                    'lval' : [1, 2]})
right = pd.DataFrame({'key' : ['foo', 'foo'],
                     'rval' : [4, 5]})
print left
print right
pd.merge(left, right, on='key')
Pandas常用命令-2_第3张图片

分组统计 groupby

df = pd.DataFrame({'A' : ['foo', 'bar', 'foo', 'bar',
                         'foo', 'bar', 'foo', 'bar'],
                  'B' : ['one', 'one', 'two', 'three',
                        'two', 'two', 'one', 'three'],
                  'C' : np.random.randn(8),
                  'D' : np.random.randn(8)})
print df
print df.groupby(['A', 'B']).sum()
Pandas常用命令-2_第4张图片

Pivot table

df = pd.DataFrame({'A' : ['one', 'one', 'two', 'three'] * 3,
                  'B' : ['A', 'B', 'C'] * 4,
                  'C' : ['foo', 'foo', 'foo', 'bar', 'bar', 'bar'] * 2,
                   'D': np.random.randn(12),
                  'E' : np.random.randn(12)})
pd.pivot_table(df, values='D', index=['A', 'B'], columns=['C'])
Pandas常用命令-2_第5张图片

生成时间序列

# freq='S' 秒的递进
rng = pd.date_range('1/1/2012', periods=100, freq='S')
print rng[:5]
ts = pd.Series(np.random.randint(0, 500, len(rng)), index=rng)
print ts.head()
Pandas常用命令-2_第6张图片

给数据加类别标签

df = pd.DataFrame({'id':[1,2,3,4,5,6], 
                   "raw_grade":['a', 'b', 'b', 'a', 'a', 'e']})
df["grade"] = df["raw_grade"].astype("category")
print df
df["grade"].cat.categories = ["very good", "good", "very bad"]
df["grade"] = df["grade"].cat.set_categories(["very bad", "bad", "medium ", "good", "very good"])
print df
print df.groupby("grade").size()
Pandas常用命令-2_第7张图片

画图

ts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000))
df = pd.DataFrame(np.random.randn(1000, 4), index=ts.index,
                  columns=['A', 'B', 'C', 'D'])
df = df.cumsum()
plt.figure(); df.plot(); plt.legend(loc='best')
Pandas常用命令-2_第8张图片

读取写入 csv,excel 文件

df.to_csv('foo.csv')
pd.read_csv('foo.csv')
df.to_excel('foo.xlsx', sheet_name='Sheet1')
pd.read_excel('foo.xlsx', 'Sheet1', index_col=None, na_values=['NA'])

历史技术博文链接汇总

我是 不会停的蜗牛 Alice
85后全职主妇
喜欢人工智能,行动派
创造力,思考力,学习力提升修炼进行中
欢迎您的喜欢,关注和评论!

你可能感兴趣的:(Pandas常用命令-2)