【机器学习】Python数据处理

字符串的访问

str = 'Picture'

print (str[1:3])   # 第二、三个字符

print (str[-3:-1]) # 倒数第二、三个字符

print (str[3:-1])  # 正数第四个到倒数第二个字符

print (str[-6:7])  # 倒数第六个到正数第七个字符

print (str[2:])    # 第三个字符开始的所有字符

print (str * 2)    # 输出字符串两次                   

print (str + "TEST") # 连接字符串

字符串赋值

word = 'Python'

print(word[0], word[5])

print(word[-1], word[-6])

如果继续添加一行语句:word[0] = Q'

由于无法修改 word字符串,因此会导致错误:TypeError: 'str' object does not support item assignment”

如果需要修改字符串的内容,可以使用重新赋值语句,如:word = 'Qython'

即生成一个新的word变量。

列表的访问

list = [ 'a', 56 , 1.13, 'HelloWorld',[7,8,9] ]

print(list)       #完整列表

print(list[4])    # 第五个元素

print(list[-2:5]) # 从倒数第二个到正数第五个元素

print(list[2:])   # 第三个元素开始的所有元素

列表元素的修改

a = [1, 2, 3, 4, 5, 6]

a[0] = 9    # 将第一个元素设为9

print(a)

a.append(7) # 在列表末尾追加7

print(a)

a[2:5] = [] # 将第三到五个元素值设置为空值

print(a)

a.pop(2)    # 将第三个元素移除

print(a)

列表的遍历

lis= ['蚂蚱','螳螂','蝈蝈','蝗虫','蛐蛐']

#(1)直接遍历

for item in lis:

    print(item)   

 #(2)按索引遍历

for i in enumerate(lis):

    print(i)

#(3)对于列表类型,还有一种通过下标遍历的方式,如使用range()函数

for i in range(len(lis)):

    print(lis[i])

元组的访问

tuple = ( 'SpiderMan',2017 ,33.4, 'Homecoming', 14 )

tinytuple = (16, 'Marvel')

print (tuple)      # 输出完整元组

print (tuple[0])   # 输出元组的第一个元素

print (tuple[3:4]) # 输出从第二个元素开始到第三个元素

print (tuple + tinytuple) # 连接元组

修改元组中的List类型数据项

tuple = ([16, 'Marvel'] , 'SpiderMan',2017 ,33.4, 'Homecoming', 14,)

print(tuple[0])

tuple[0][0]='Marvel'

tuple[0][1]='16'

print (tuple)

字典的访问

dict = {'Name': 'Mary', 'Age': 7, 'Class': 'First'};

print(dict);

print("Name: ", dict['Name'])

print("Age: ", dict['Age'])

列表可以作为字典的value

dict = {'Name': ['Mary','Tom','Philp'], 'Age': [7,8,9], 'Class': ['1st','2nd','3rd']}

print(dict)

print("Name: ", dict['Name'])

dict['Age']=[8,9,10]

print("Age: ", dict['Age'])

修改字典

dict = {'Name': 'Zara', 'Class': 'First'};

#添加add

dict['Gender']="Female"

print(dict)

#修改update

dict.update({"No":"001"})

print(dict)

#也可以使用update方法添加/修改多个数据

dict.update({'Gender':"F","Id":1})

print(dict)

删除字典元素

del dict['Gender']

print(dict)

dict.clear()

print(dict)

创建集合

#创建一个空集合

var = set()

print(var,type(var))    #显示集合内容和类型 

#具有数据的集合

var = {'LiLei','HanMeiMei','ZhangHua', 'LiLei', 'LiLei'}

print(var,type(var))    #显示集合内容和类型

集合成员检测

#判断元素在集合内

result = 'LiLei' in var

print(result)

#判断元素不在集合内 

result = 'lilei' not in var   #大小写敏感

print(result)

增加、删除集合元素

var = {'LiLei','HanMeiMei','ZhangHua'}

var.add('LiBai')     #add方法添加元素

print(var)

var.update('DuFu')   #update方法首先拆分元素,然后各个添加

print(var)           #数据项无序,且去除重复项 

var.remove('D')

var.remove('F')

var.remove('u')

print(var)

有一个集合anml,其内容为{'紫貂','松貂','青鼬','狼獾’},对anml集合进行遍历。

方法一:

anml ={'紫貂','松貂','青鼬','狼獾'}

for item in anml:

    print(item)

方法二:

anml ={'紫貂','松貂','青鼬','狼獾'}

for item in enumerate(anml):

    print(item)

集合的交集、并集(合集)、差集

#分别构造獾和貂两个集合

Huan={'猪獾','蜜獾','狼獾',}

Diao={'紫貂','松貂','美洲水鼬','狼獾'}

#交集

DiaoXiong=Huan&Diao

print('貂熊是:',DiaoXiong)

#并集

Youke=Huan|Diao

print('鼬科的是:',Youke)

#差集

DiaoT=Diao-Huan

print('除去獾的貂类:',DiaoT)

打开文件并写入数据

filename = 'INFO.txt'

f=open(filename,'w')    #清空原文件数据,文件不存在则创建新文件

f.write("I am ZhangSanFeng.\n")

f.write("I am now studying in ECNU.\n")

f.close()

read()函数读取整个文件

with open("INFO.txt") as f:   # 默认模式为‘r’,只读模式

    ct10 = f.read(5)          # 5个字符

    print(ct10)

    print('======')

    contents = f.read()       # 从当前位置,读文件全部内容

    print(contents)   

使用readline()函数逐行读取

with open('data.txt') as f:    

    line1 = f.readline()  # 读取第一行数据(此时已经指向第一行末尾)

    line2 = f.readline()  # 从上一次读取末尾开始读取(第二行)

    print(line1)

    print(line2)

    print(line1.strip())

    print(line2.strip())

    print(line1.split())

使用readlines()一次读取多行

with open('data.txt') as f:

    lines = f.readlines()  #文件数据读到一个列表,每个元素对应一行

print(lines)               #每一行数据都包含了换行符

print('================================')

for line in lines:

    print(line.rstrip())   #使用rstrip()处理空格

使用for循环逐行读取文件

#逐行读取

with open('data.txt') as f:

    for lineData in f:

        print(lineData.rstrip()) # 去掉每行末尾的换行符

新建文本文件并写入内容

filename = 'write_data.txt'

with open(filename,'w') as f:   # 'w'表示写数据,会清空原文件

    f.write("I am ZhangSanFeng.\n")

    f.write("I am now studying in ECNU.\n")

读取无标题数据并设置标题名

import pandas as pd

data1=pd.read_table('data.txt',sep=' ',header=None,names=["H","W","C"])

print(data1)

使用savetxt函数存数据

import numpy as np

x = y = z = np.arange(0,50,4.5)

#X数组保留一位小数写入文件

np.savetxt('X.txt', x, delimiter=',',fmt='%5.1f')

#X数组保留三位小数写入文件

np.savetxt('formatX.txt', x, fmt='%7.3f')

#把三个数组按原格式写入文件

np.savetxt('XYZ.txt', (x,y,z))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值