Python数据分析常用操作

文件系统操作

合并某个目录下所有txt格式文件(这个代码也是参考别人的代码进行了一些修改):

import os
import os.path
import pandas as pd

def MergeTxt(filepath, outfile):
    k = open(filepath + outfile, 'a+', encoding='utf-8')
    for parent, dirnames, filenames in os.walk(filepath):
        for filepath in filenames:
            txtPath = os.path.join(parent, filepath)
            f = open(txtPath, encoding='utf-8')
            k.write(f.read()+"\n")
        k.close()
        print("文件写入完成")
        
if __name__=='__main__':
    filepath="./agriculture_index/"
    outfile = "total1.txt"
    MergeTxt(filepath, outfile)

List创建与转换

1.List创建方法

  • list()
  • 通过**[ ]**直接赋值给变量,如:lis = [1,2,3,4]
  • 列表推导式解析,语法格式如下:
list = [expression for var in range]

应用实例:
绘制地图时需要传入数组对,即传入格式为:[(‘湖南’,5),(’浙江‘,4)]

mrkts = [(i, int(j)) for i,j in zip(y2.index, y2.values)]

2.List元素类型转换

列表中字符串变为整型(浮点型)

y = zj_var['var_num'].to_list()
y_lis = list(map(loat, y))

3.DataFrame转换为List

to_list()tolist()

Pandas数据基础处理

数据导入

读取csv格式文件属于最基础操作,基本语句:

df = pd.read_csv('./total.txt',encoding = 'utf-8', sep = '\t', index_col = False, names=['Date', 'Variety', 'Market', 'low', 'High', 'Mean', 'unit','url' ])

这里面有几点需说明:
1.index_col=False,没有指定index;
2.导入数据没有表头,通过names传入列名的列表。

特殊符号删除(替换)

导入数据中包含一些特殊符号,这份数据中所有特殊符号都在第一位,且只有1个,所以相对好处理,删除了数值前的问号。

tmp1['low']=tmp1['low'].str.lstrip('?')

数据操作

  • 提取前20行,前2列数据
var_cnt_20 = var_cnt.iloc[0:20,0:3]
  • 行数据提取——删除特定属性值的样本
tmp2 = tmp1.drop(index = df[(df['Market'] == "XXXXX")].index.tolist())

删除属性值中前后的中括号,需要的数据格式为:’2016-12-30‘,实际为:[‘20

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值