Python数据分析常用方法手册Word文档格式.docx
- 文档编号:14603104
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:10
- 大小:19.86KB
Python数据分析常用方法手册Word文档格式.docx
《Python数据分析常用方法手册Word文档格式.docx》由会员分享,可在线阅读,更多相关《Python数据分析常用方法手册Word文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
,['
股票代码'
'
股票名称'
'
营业总收入'
]]#访问指定的列
#df=df['
]#查看指定列
#DataFrame.ix['
index_name'
]#查看指定行
#dataframe[m:
n]#选择多行
#dataframe[dataframe['
col3'
>
5]]#条件筛选
#dataframe.ix[0:
3,0:
5]#选择子集
#3.如何添加新的列
例1:
添加一个总和栏来显示Jan、Feb和Mar三个月的销售总额
total'
]=df['
Jan'
]+df['
Feb'
Mar'
]
例2:
把计算结果添加为一个新的列
P/E'
]=df.收盘价/df.基本每股收益#新的列名,后面是对应的数值
例3:
在excel表最后加一行求各列和
sum_row=df[['
]].sum()
#4.如何删除行列
#df_delete=df.drop(['
result'
],axis=1)#删除列
#DataFrame.drop(['
index1'
index2'
...])#删除行
#5.如何对数据进行排序?
].size#获取‘P/E’这列共有多少行
newdf=df_delete.sort('
)#默认升序排列
sort_index也可以进行排序
#6.如何对数据进行筛选?
#1.筛选出predictaqi_norm1这一列大于100的行;
aqicsv[aqicsv["
predictaqi_norm1"
]>
100]
也可以写为:
data[data.收盘价>
100]
#2.使用&
(并)与|(或)实现多条件筛选
aqicsv[(aqicsv["
FID"
37898)&
(aqicsv["
]<
38766)]
aqicsv[(aqicsv.predictaqi_norm1>
150)|(aqicsv.predictaqi_norm1<
100)]
#3.筛选后取另外两列数据
如果只需要其中两列数据,而同时利用另外两列进行筛选时可以这样.如果只需要其中的某几列可以写为aqicsv[['
FID'
x'
y'
]]
aqicsv[['
]][(aqicsv.FID>
10000)|(aqicsv.predictaqi_norm1>
150)]
#4.isin()用法:
筛选某一列数据符合等于规定值
(它使得我们可以定义一个列表,里面包含我们所希望查找的值);
data7=data[data['
].isin(['
sh600141'
sh600754'
sh603017'
sh603198'
])]
#同样,以上这个语句可以用query()函数来查询,需要安装numexpr;
data8=data.query('
股票代码==['
]'
#map()函数也有这个功能,样式如下:
df[df["
sku"
].map(lambdax:
x.startswith('
B1'
))&
amp;
(df["
quantity"
]&
gt;
22)].head()
#5.字符串方法:
筛选某一列内容包含特定值
例如找出MA金叉死叉列所有含金叉的行,但列不能含空值
data8=data7[data7['
MA金叉死叉'
].str.contains('
金叉'
)]
#6.如果列中存在空值,空值处理方法:
#6.1用fillna()方法将空值填充
data7=data.fillna(value='
你好'
#6.2或者将列中的空值删除;
stock_data=stock_data[stock_data['
市盈率TTM'
].notnull()]
#或6.2用dropna删除缺失值
stock_data.dropna(subset=['
下个月涨跌幅'
],inplace=True)
#7.pandas能够理解日期,在对日期数据筛选方面可以对某年、某月进行筛选;
data[data['
交易日期'
]='
2014-03'
2015'
data[(data['
]>
='
20140701'
)&
(data['
]<
='
20140715'
)].head()
#8.对时间序列数据,设置交易日期为新的索引
df2=data.set_index(['
#通过切分来获得一段区间
df2["
20140101"
:
"
20140201"
df2['
2014'
2014-Dec'
#9.用unique()函数来获取一个不含重复项的小列表
df["
name"
].unique()
#如果这个小列表同时要包含其他列信息,可以用drop_duplicates()函数
df.drop_duplicates(subset=["
accountnumber"
"
]).head()
#7.数据转置
df_sum=pd.DataFrame(data=sum_row).T
#8.简单的统计与筛选
1.2.2将分割数据读取到一张DataFrame
#第五步:
数据跟文件夹的交互——读取、保存
#1.用for循环和append函数将文件夹中不同表格的数据经过筛选后加载到同一张表格
importpandasaspd
importos
stock_code_list=[]
forroot,dirs,filesinos.walk('
overview-data-sh/'
):
iffiles:
forfinfiles:
if'
sh6'
inf:
stock_code_list.append(f.split('
.csv'
)[0])
all_stock_sh=pd.DataFrame()
forcodeinstock_code_list:
stock_data=pd.read_csv('
+code+'
encoding='
gbk'
stock_data=stock_data[['
涨跌幅'
成交额'
换手率'
流通市值'
市销率TTM'
市现率TTM'
市净率'
MA_5'
MA_10'
MA_20'
MA_30'
MA_60'
MACD_金叉死叉'
KDJ_金叉死叉'
收盘价'
开盘价'
stock_data['
]=pd.to_datetime(stock_data['
stock_data=stock_data[stock_data['
]=='
2016/9/30'
all_stock_sh=all_stock_sh.append(stock_data,ignore_index=True)
all_stock_sh.shape
#2.用pd.concat将不同文件夹中数据加载到一个DateFrame
#3.数据保存
all_stock_sh.to_csv('
全部股票当天市场数据20160930sh.csv'
1.3数据描述
1.3.1绘图与可视化
%pylab
importmatplotlib.pyplotasplt
importnumpyasnp
data=pd.read_csv('
sh600000.csv'
data1=data['
data2=data['
#在一张figure里面画多张图
fig=plt.figure()
ax1=fig.add_subplot(221)
ax1.plot(data1,'
g'
#设置X轴,Y轴,标题
ax1.set_xlabel('
Time'
ax1.set_ylabel('
Price'
ax1.set_title('
myfirstmatplotlibplot'
ax1.set_xlim([data['
]])
#时间序列趋势图-设置label
如果要在同一个图中显示多个label,可以用plt.legend()函数
代码:
importpandasaspd
overview-data-sh/sh600005.csv'
data.交易日期=pd.to_datetime(data.交易日期)
data1=data.set_index('
)['
].ix['
2009'
data2=data.set_index('
plt.title('
Trend'
plt.xlabel('
plt.ylabel('
plt.plot(data1,'
k'
label='
1'
)
plt.plot(data2,'
2'
plt.legend()#用legend()函数可以在一张图里显示多个label
plt.show()
#饼图
plt.subplot(233)
x=[1,2,3,4,5]
y=[2.3,3.4,1.2,6.6,7.0]
scatter(x,y)
#保存
savefig("
demo.png"
例子:
绘制股价的时间序列图
Pandas最基本的时间序列类型是以时间戳(Datatimeindex,Periodindex)为索引的Series。
Set_index()方法将时间列(column)设置为index
data=data.set_index(['
Unnamed:
0'
data.index.name='
time'
将index转为datatimeindex
data.index=pd.to_datetime(data.index)
data=data.resample('
B'
fill_method='
ffill
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Python 数据 分析 常用 方法 手册