python_pandas_20171104

来源:互联网 发布:温州两家人 知乎 编辑:程序博客网 时间:2024/06/08 14:04

以下所有代码均转载自网易云课堂:用 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 overlappingboys = 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 pdimport numpy as npimport matplotlib.pyplot as plt# plot data# Seriesdata = pd.Series(np.random.randn(1000),index=np.arange(1000))data = data.cumsum()# DataFramedata = 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
原创粉丝点击