【python】pandas使用-列操作

import pandas as pd  # 将pandas作为第三方库导入,我们一般为pandas取一个别名叫做pd

pd.set_option('expand_frame_repr', False)  # 当列太多时显示完整

# =====导入数据
df = pd.read_csv(
    # 该参数为数据在电脑中的路径,
    # 要注意字符串转义符号 \ ,可以使用加r变为raw string或者每一个进行\\转义
    filepath_or_buffer=r'C:\Users\simons\Desktop\xbx_stock_2019\data\sh600000.csv',
    # 编码格式,不同的文件有不同的编码方式,一般文件中有中文的,编码是gbk,默认是utf8
    # ** 大家不用去特意记住很多编码,我们常用的就是gbk和utf8,切换一下看一下程序不报错就好了
    encoding='gbk',
    nrows=15,
    # 该参数代表跳过数据文件的的第1行不读入
    skiprows=1,
    # 将指定列设置为index。若不指定,index默认为0, 1, 2, 3, 4...
    # index_col=['交易日期'],
)

# =====列操作
# 行列加减乘除
# print(df['交易日期'] + ' 15:00:00')  # 字符串列可以直接加上字符串,对整列进行操作
# print(df['收盘价'] * 100)  # 数字列直接加上或者乘以数字,对整列进行操作。
# print(df[['收盘价', '成交量']])
# print(df['收盘价'] * df['成交量'])  # 两列之间可以直接操作。收盘价*成交量计算出的是什么?
# 新增一列
# df['交易日期2'] = df['交易日期'] + ' 00:00:00'
# df['交易所'] = '上交所'

# =====统计函数
# print(df['收盘价'].mean())  # 求一整列的均值,返回一个数。会自动排除空值。
# print(df[['收盘价', '成交量']].mean())  # 求两列的均值,返回两个数,Series
# print(df[['收盘价', '成交量']])
# print(df[['收盘价', '成交量']].mean(axis=1))  # 求两列的均值,返回DataFrame。axis=0或者1要搞清楚。
# axis=1,代表对整几列进行操作。axis=0(默认)代表对几行进行操作。实际中弄混很正常,到时候试一下就知道了。

# print(df['最高价'].max())  # 最大值
# print(df['最低价'].min())  # 最小值
# print(df['收盘价'].std())  # 标准差
# print(df['收盘价'].count())  # 非空的数据的数量
# print(df['收盘价'].median())  # 中位数
# print(df['收盘价'].quantile(0.25))  # 25%分位数
# 还有其他的函数计算其他的指标,在实际使用中遇到可以自己搜索


# =====shift类函数、删除列的方式
# df['下周期收盘价'] = df['收盘价'].shift(-1)  # 读取上一行的数据,若参数设定为3,就是读取上三行的数据;若参数设定为-1,就是读取下一行的数据;
# del df['下周期收盘价']  # 删除某一列的方法

# df['涨跌'] = df['收盘价'].diff(1)  # 求本行数据和上一行数据相减得到的值
# df.drop(['涨跌'], axis=1, inplace=True)  # 删除某一列的另外一种方式,inplace参数指是否替代原来的df
# df['涨跌幅'] = df['收盘价'].pct_change(1)  # 类似于diff,但是求的是两个数直接的比例,相当于求涨跌幅

# =====cum(cumulative)类函数
# df['累计成交量'] = df['成交量'].cumsum()  # 该列的累加值
# print(df[['交易日期', '成交量', '累计成交量','涨跌幅']])
# print((df['涨跌幅'] + 1.0).cumprod())  # 该列的累乘值,此处计算的就是资金曲线,假设初始1元钱。


# =====其他列函数
# df['收盘价_排名'] = df['收盘价'].rank(ascending=True, pct=False)  # 输出排名。ascending参数代表是顺序还是逆序。pct参数代表输出的是排名还是排名比例
# print(df[['收盘价', '收盘价_排名']])
# del df['收盘价_排名']
# print(df['收盘价'].value_counts())  # 计数。统计该列中每个元素出现的次数。返回的数据是Series

# =====文档
# 以上是我认为最常用的函数
# 哪里可以看到全部的函数?http://pandas.pydata.org/pandas-docs/stable/api.html

 

你可能感兴趣的:(python数据分析,python,数据分析)