基本数据类型
整形 i = 3
print(id(i)) #地址
i += 1
print(i)
字符型 str = 'PyString'
print(str[1:3]) #第二、三个字符 yS
print(str[-3:-1]) #倒数第三、二 in
print (str[2:-1]) #正数第三个 到 倒数第二个字符 yStrin
print (str[-5:8]) #倒数第五个正数第7个 tring
print (str[2:]) #第三个到结束 #String
print (str * 2) #输出字符串两次
print (str + "Test") #连接
>ySin
>ng
>Strin
>tring
>String
>PyStringPyString
>PyStringTEST
列表
列表定义list = ['a',56,1.13,'facebook',[7,8,9]]
print(list) #完整列表
print(list[4]) #第五个元素
print(list[-2:5]) # 从倒数第二个到正数第五个元素
print(list[2:]) # 第三个元素开始的所有元素
>['a', 56, 1.13, 'facebook', [7, 8, 9]]
>[7, 8, 9]
>['facebook', [7, 8, 9]]
>[1.13, 'facebook', [7, 8, 9]]
列表的遍历list = ['蚂蚱','螳螂','蝈蝈','蝗虫','蛐蛐']
for item in list:
print(item,end=" ") #不换行 “空”
>蚂蚱 螳螂 蝈蝈 蝗虫 蛐蛐
元组
基本使用tuple = ('SpiderMan',2017,33.4,'Homecoming',14)
newtuple=(16,'test')
print(tuple) #完整输出
>('SpiderMan', 2017, 33.4, 'Homecoming', 14)
print(tuple[2:4])
>(33.4,'Homecoming')
print(tuple + newtuple) #连接
>('SpiderMan', 2017, 33.4, 'Homecoming', 14, 16, 'test')
修改数据项tuple = ([16, 'Marvel'] , 'SpiderMan',2017 ,33.4, 'Homecoming', 14,)
print(tuple[0])
tuple[0][0]='Marvel'
tuple[0][1]='16'
print(tuple)
>[16, 'Marvel']
>(['Marvel', '16'], 'SpiderMan', 2017, 33.4, 'Homecoming', 14)
字典
定义dict = {'Name':'Mary','Age':7,'Class':'First'}
print(dict);
>{'Name': 'Mary', 'Age': 7, 'Class': 'First'}
print("Name: ", dict['Name'])
print("Age: ", dict['Age'])
>Name: Marg
>Age: 7
添加字典元素dict['Gender'] = "Female"
dict
> {'Name': 'Mary', 'Age': 7, 'Class': 'First', 'Gender': 'Female'}
集合#1.
var = set()
print(var,type(var)) #显示集合内容和集合类型
>set() <class 'set'>
#2.
var = {'LiLei','HanMeiMei','ZhangHua', 'LiLei', 'LiLei'}
print(var,type(var)) #显示集合内容和类型
>{'LiLei', 'ZhangHua', 'HanMeiMei'} <class 'set'>
#3.判断元素是否在集合内
result = 'LilEI' in var
print(result)
> true
exe:遍历anml={‘紫貂’,‘松貂’,‘青鼬’,'狼獾’}anml = ['紫貂','松貂','青鼬','狼獾']
for i in range(len(anml)):
print(anml[i])
数据文件读写
使用with语句打开文件 (可以省略close语句)with open('INFO.txt','a') as f: # 'a'表示添加数据,不清楚原数据
f.write(add tail. \n)
#文件读取1:读取整个文件
with open('INFO.txt') as f: #默认模式为‘r’,Read Only
str = f.read(5) #读取5个字符
print(str)
contents = f.read() #从当前位置,读取全部内容
print(contents)
>I maj
>or.............
#文件读取2:逐行读取 也可以使用readLine()函数
with open('INFO.txt') as f:
line1 = f.readline() #读取一行,此时指向第一行末尾
print(line1.strip()) #移除字符串头尾指定的字符 此处移除换行
#读取文件3:读当前位置后的所有行,默认位置为文件头
with open('INFO.txt') as f:
lines = f.readlines() #读取一个列表,每个元素对应一行
print(lines) #读取列表 每行数据包含一个\n
for line in lines:
print(line.restrip())
#读取文件4:使用迭代器循环读取
with open('dataH.txt') as f:
for lineData in f:
print(lineData.rstrip()) #lstrip rstrip 去左部,去右部```
Pandas存取文件
read_csv()|to_csv()等 # 读取cvs文件(.dat .txt .csv等) #会自己产生索引 其中属性header = 0,index_col = 0 建立列 行序号.(默认header = 0,列index_col = None) import pandas as pd
data1 = pd.read_csv('dataH.txt')
print(data1)
print('-----')
data2 = pd.read_csv('dataH.txt', header = 0, sep=' ')
print(data2) # sep:指明分隔符
print('-----')
data3 = pd.read_csv('dataH.txt', header =None,sep=' ')
print(data3)
#写入文件
data3.to_csv('HW3.csv') #属性 index(通常=false)```
Numpy存取文件 loadtxt() | savetxt() 1.->loadtxt(fileName, dtype=int,delimiter=’ ', usecols=(列号)) #将文件载入为某类型 以delimiter分隔 选取第几列 2.savetxt(文件名,对象,fmt=“%d”, delimiter=“,”) #保存
import numpy as np
#采用字符串数组读取文件
tmp = np.loadtxt("dataH.txt", type=np.str, delimiter=" ")
print(temp)
print("----------------")
tmp1 = np.loadtxt("dataH.txt", type=np.str, usecols=(1,2))
print(tmp1)
#保存文件
x=[1,2,3]
y=[4,5,6]
z=[7,8,9]
np.savetxt('XYZ.txt', (x,y,z))
练习:建立file.ipynb文件。读取文件"fruit_data_with_colors.txt"前十行数据,并显示
# 1.pandas
import panads as pd
data = pd.read_csv('fruit_data_with_colors.txt', sep='\t')
print(data.iloc[:10])
# -》结果 我不知道怎样才能把第一列删了且不影响第一行
> fruit_label fruit_name fruit_subtype mass width height color_score
>0 1 apple granny_smith 192 8.4 7.3 0.55
>1 1 apple granny_smith 180 8.0 6.8 0.59
>2 1 apple granny_smith 176 7.4 7.2 0.60
>3 2 mandarin mandarin 86 6.2 4.7 0.80
>4 2 mandarin mandarin 84 6.0 4.6 0.79
>5 2 mandarin mandarin 80 5.8 4.3 0.77
>6 2 mandarin mandarin 80 5.9 4.3 0.81
>7 2 mandarin mandarin 76 5.8 4.0 0.81
>8 1 apple braeburn 178 7.1 7.8 0.92
>9 1 apple braeburn 172 7.4 7.0 0.89
# 2.numpy
import numpy as np
print('-----------')
data4 = np.loadtxt('fruit_data_with_colors.txt', dtype=np.str, delimiter="\t")
print(data4[:10])
# -》结果
> [['fruit_label' 'fruit_name' 'fruit_subtype' 'mass' 'width' 'height'
'color_score']
>['1' 'apple' 'granny_smith' '192' '8.4' '7.3' '0.55']
>['1' 'apple' 'granny_smith' '180' '8.0' '6.8' '0.59']
>['1' 'apple' 'granny_smith' '176' '7.4' '7.2' '0.60']
>['2' 'mandarin' 'mandarin' '86 ' '6.2' '4.7' '0.80']
>['2' 'mandarin' 'mandarin' '84 ' '6.0' '4.6' '0.79']
>['2' 'mandarin' 'mandarin' '80 ' '5.8' '4.3' '0.77']
>['2' 'mandarin' 'mandarin' '80 ' '5.9 ' '4.3' '0.81']
>['2' 'mandarin' 'mandarin' '76' '5.8' '4.0' '0.81']
>['1' 'apple' 'braeburn' '178' '7.1' '7.8' '0.92']]
# 3.with open
line = 0
lines = ""
with open('fruit_data_with_colors.txt') as f:
while line <= 10:
lines = lines + f.readline()
line = line + 1
print(lines)