Python数据分析常用操作

本文介绍了Python数据分析中的List操作,包括创建、转换和DataFrame到List的转换。接着详细阐述了Pandas的基础处理,如数据导入、特殊符号删除、数据提取以及时间序列处理。还探讨了数据探索与可视化,包括条形图、折线图和饼图的绘制。总结了List和Pandas的主要操作,并指出了可视化中的遗留问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文件系统操作

合并某个目录下所有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‘,实际为:[‘2016-12-30’],这一步是因为后面在生成时间序列的时候报错,不能直接转化为日期,用lambda函数和replace暴力转化。

tmp3['Date'] = tmp3['Date'].apply(lambda x: x.replace('[','').replace(']',''))
  • 列数据
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值