python_pandas_20171104

以下所有代码均转载自网易云课堂:用 numpy 和 pandas 把玩你的数据

7.Pandas merge 合并

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date    : 2017-11-04 12:01:24
# @Author  : Leboryi@gmail.com
# @Version : Pandas merge 合并

import pandas as pd

# merging two df by key/keys. (may be used in database)

# simple example
# left = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'],
#                      'A': ['A0', 'A1', 'A2', 'A3'],
#                      'B': ['B0', 'B1', 'B2', 'B3']})
# right = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'],
#                       'C': ['C0', 'C1', 'C2', 'C3'],
#                       'D': ['D0', 'D1', 'D2', 'D3']})
# print(left)
# print(right)
# res = pd.merge(left,right,on='key')
# print(res)

# consider two keys
# left = pd.DataFrame({'key1': ['K0', 'K0', 'K1', 'K2'],
#                      'key2': ['K0', 'K1', 'K0', 'K1'],
#                      'A': ['A0', 'A1', 'A2', 'A3'],
#                      'B': ['B0', 'B1', 'B2', 'B3']})
# right = pd.DataFrame({'key1': ['K0', 'K1', 'K1', 'K2'],
#                       'key2': ['K0', 'K0', 'K0', 'K0'],
#                       'C': ['C0', 'C1', 'C2', 'C3'],
#                       'D': ['D0', 'D1', 'D2', 'D3']})
# print(left)
# print(right)
# how = ['left', 'right', 'outer', 'inner']
# res = pd.merge(left,right,on=['key1','key2'],how='left')
# print(res)

# indicator
# df1 = pd.DataFrame({'col1':[0,1], 'col_left':['a','b']})
# df2 = pd.DataFrame({'col1':[1,2,2],'col_right':[2,2,2]})
# print(df1)
# print(df2)
# res = pd.merge(df1, df2, on='col1', how='outer', indicator=True)
# print(res)
# give the indicator a custom name
# res2 = pd.merge(df1, df2, on='col1', how='outer', indicator='indicator_column')
# print(res)
# print(res2)

# merged by index
# left = pd.DataFrame({'A': ['A0', 'A1', 'A2'],
#                      'B': ['B0', 'B1', 'B2']},
#                      index=['K0', 'K1', 'K2'])
# right = pd.DataFrame({'C': ['C0', 'C2', 'C3'],
#                       'D': ['D0', 'D2', 'D3']},
#                       index=['K0', 'K2', 'K3'])
# print(left)
# print(right)
# left_index and right_index
# res = pd.merge(left, right, left_index=True, right_index=True, how='outer')
# res2 = pd.merge(left, right, left_index=True, right_index=True, how='inner')
# print(res)
# print(res2)

# handle overlapping
boys = pd.DataFrame({'k': ['K0', 'K1', 'K2'], 'age': [21, 22, 23]})
girls = pd.DataFrame({'k': ['K0', 'K0', 'K3'], 'age': [24, 25, 26]})
print(boys)
print(girls)
res = pd.merge(boys, girls, on='k', suffixes=['_boy', '_girl'], how='inner')
print(res)

8.Pandas plot 图表

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date    : 2017-11-04 12:24:30
# @Author  : Leboryi@gmail.com
# @Version : Pandas plot 图表

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# plot data

# Series
data = pd.Series(np.random.randn(1000),index=np.arange(1000))
data = data.cumsum()

# DataFrame
data = pd.DataFrame(np.random.randn(1000,4),
            index=np.arange(1000),
            columns=list('ABCD'))
data = data.cumsum()
# print(data.head())
data.plot()    # 经常会用到,还有一个是 plt.scatter()
# plot methods:
# 'bar', 'hist', 'box', 'kde', 'area', scatter', hexbin', 'pie'
# # plt.plot(x=,y=)
ax = data.plot.scatter(x='A', y='B', color='DarkBlue', label="Class 1")
data.plot.scatter(x='A', y='C', color='DarkGreen', label='Class 2', ax=ax)

plt.show()    # 在这一步出现问题,未显示图表,原因:导入包不完整matplotlib.pyplot
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值