Python数据类型,转置函数相关知识

学习内容:

  1. 掌握python的数据类型
  2. 掌握python数据转置函数

学习产出:

1、数据类型
一、数字型

  1. 整型 --int
  2. 浮点型–float
  3. 布尔型–boolean=True、False
  4. 复数类型–complex =( 3-91j)

二、字符串–str
1、可用:单引号、双引号、三引号
例子:

strvar1 = '123'
strvar2 = "123,数字"
strvar3 = """
转义字符:\ + 字符
  (1)把无意义的字符变的有意义
  (2)把有意义的字符变的无意义
\\n:换行
\\r\\n:换行
\\t:缩进(tab,水平制表符)
\\r:把\\r后面的字符串直接拉到当前行行首
"""
print (strvar1)
print (strvar2)
print (strvar3)

运行结果
在这里插入图片描述
2、元字符串:
r + 字符串 ==> 表示不转字符,原型化输入字符串。(相当于字符串中给所有特殊意义的字符加了转义符
例子:

strvar = r"E:\thabc_\nay"
print (strvar)

运行结果
在这里插入图片描述

三、列表–list
定义:列表list用[ ]标识,支持数字,字符串,也可以包含列表嵌套,创建一个列表,只要把逗号分隔的不同数据项使用方括号括起来即可

  • list1 = [‘银行存款’, ‘库存现金’, ‘应收账款’]
  • list2 = [666, 999, 888]
  • list3 = [] #方括号里面什么都不写,代表创建一个空列表

特点:可获取,可修改,有序

listvar = [111,3,13,True,3+4j,"abc"]
print (listvar,type(listvar))

运行结果
在这里插入图片描述
计算:

  • +:拼接
  • *:重复
  • [ ]:获取
  • [ : ]:截取
  • in:成员运算符
  • not in:成员运算符

操作:

  • list.append(obj):在列表末尾添加新的元素
    #list1.append(‘存货’) #返回结果:[‘银行存款’,‘库存现金’, ‘应收账款’, ‘存货’]

  • list.insert(index, obj):将元素插入列表中指定的位置
    #list2.insert(0,555) #返回结果:[555, 666, 999, 888]

  • list.extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
    #list1.extend(list2) #返回结果:[‘银行存款’, ‘库存现金’, ‘应收账款’, 666, 999, 888]

  • list.pop([insex=-1]):移除列表汇总的一个元素(默认最后一个元素),并且返回该元素的值
    #list1.pop(0) #返回结果:[‘库存现金’, ‘应收账款’]

  • list.remove(obj):移除列表中某个元素的第一个匹配项
    #list2.remove(999) #返回结果:[666, 888]

  • list.reverse():反向列表中元素
    #list1.reverse() #返回结果:[‘应收账款’, ‘库存现金’, ‘银行存款’]

  • list.sort(cmp=None,key=None,reverse=False):对原列表进行排序(只能对相同类型的元素进行排序)
    #list2.sort() #返回结果:[666, 888, 999]

四、元组–tuple
定义:元组使用()定义
特点:可获取、不可修改(元组不支持赋值)、有序

tuplevar = (False,3+4j,"aaa",456)
res = tuplevar[-3]
print (res)

运行结果
在这里插入图片描述
注意点:加逗号才是元组,逗号是区分是否是元组的标识符,tuplevar=1,2,3也是元组。

tuplevar =(123)
print(tuplevar,type(tuplevar))
tuplevar =(123,)
print(tuplevar,type(tuplevar))

运行结果
在这里插入图片描述

五、集合–set
特点:无序、不可修改、自动去重(不可重复)。

setvar={"123","573","张三","李四"}
print (setvar,type(setvar))

运行结果
在这里插入图片描述

六、字典–dict
特点:字典是一组可变的无序的对象集合,字典中的元素是通过键(Key) : 值(Value)来保存的,一组键值对称为一个元素,其中键(Key)不可重复,必须唯一,而值(Value)是可重复的,字典会浪费较大内存,是一种使用空间换时间的数据类型

dictvar = {"a1":"123","a2":"234","b1":"345","b2":"456"}
print (dictvar,type(dictvar))

运行结果
在这里插入图片描述
创建方法:
1)使用 { } 创建字典
dict = {‘key’:‘value1’, ‘key2’:‘value2’, …, ‘keyn’:‘value3’}
使用{}创建dict1 = {“name”: “tom”, “age”: 28, “phone”: 15252162666}
2)通过 fromkeys() 方法创建字典
Python 中,还可以使用 dict 字典类型提供的 fromkeys() 方法创建带有默认值的字典,
具体格式为:dictname = dict.fromkeys(list,value=None)
其中,list 参数表示字典中所有键的列表(list);value 参数表示默认值,如果不写,则为空值 None。
通过 fromkeys() 方法创建字典
c = [‘name’, ‘age’, ‘weight’]
dict5 = dict.fromkeys(c)
dict6 = dict.fromkeys(c, “0”)
print(dict5) # {‘name’: None, ‘age’: None, ‘weight’: None}
print(dict6) # {‘name’: ‘0’, ‘age’: ‘0’, ‘weight’: ‘0’}
3)通过 dict() 映射函数创建字典
格式1:dict1 = dict(key1=value1, key2=value2, key3=value3)
格式2:demo = [(‘two’,2), (‘one’,1), (‘three’,3)]
dict2 = dict(demo)

格式3:
keys = [‘one’, ‘two’, ‘three’] # 还可以是字符串或元组
values = [1, 2, 3] # 还可以是字符串或元组
dict3 = dict( zip(keys, values) )

操作:
D = {‘a’ : 1, ‘b’ : 2, ‘c’ : 3}

  • dict[key]:访问字典里的值
    #D[‘a’] #返回结果:1
  • dict[key]=:修改值
    #D[‘a’]=4 #返回结果:{‘a’ : 4, ‘b’ : 2, ‘c’ : 3}
  • dict[key]=:添加键值对
    #D[‘d’]=5 #返回结果:{‘a’:1, ‘b’ :2, ‘c’ : 3, ‘d’ :5}
  • del dict[key]:删除键值对
    #del D[‘a’] #返回结果:{‘b’ : 2, ‘c’ : 3}
  • del dict:删除字典
    #del D #删除整个字典后,后续脚本引用变量时会报未定义错误
  • dict.keys():以列表返回所有键
    #D.keys() #返回结果:dict_keys([‘a’, ‘b’, ‘c’])
  • dict.values():以列表返回所有值
    #D.values() #返回结果:dict.values([1, 2, 3])
  • divt.items():返回所有键值对
    #D.items() #返回结果:dict_items([(‘a’, 1), (‘b’, 2), (‘c’, 3)])

用途:

  1. 快速查找:字典提供了一种快速查找值的方式,通过键而不是位置来引用数据。这使得在大型数据集中查找和访问值变得更加高效。
  2. 数据建模:字典可以用于表示复杂的数据结构,如树形结构、图形结构等,其中每个节点都表示一个键值对。
  3. 数据处理:字典可以用于数据处理和清理任务,例如从数据集中删除重复项、过滤无关数据等。
  4. 数据转换:字典可以用于将数据从一种形式转换为另一种形式,例如将 CSV 文件转换为 JSON 格式。
  5. 缓存:字典可以用作缓存,以提高访问和处理数据的速度。

七、数据类型转换

  • int(x [,base]):将x转换为一个证书,文字类和小数类字符串无法转化为正数,浮点数可以转化为整数(抹零取整)
  • float(x):将x转换到一个浮点数
  • str(x):将对象x转换为字符串
  • list(s):将序列s转换为一个列表
  • dict(d):创建一个字典,d必须是一个序列(key,value)元组
  • chr(x):将一个整数转换为一个字符
  • ord(x):将一个字符转换为它的整数值
nums1 = [11, 22, 33]  # 定义列表
nums2 = (44, 55, 66)  # 定义元组
nums3 = {77, 88, 99}  # 定义集合

temp1=list(nums2)
temp2=list(nums3)
print(type(nums1))
print(type(temp1))
print(type(temp2))
print("列表转换\n")

temp1=tuple(nums1)
temp2=tuple(nums3)
print(type(temp1))
print(type(nums2))
print(type(temp2))
print("元组转换\n")

temp1=set(nums1)
temp2=set(nums2)
print(type(temp1))
print(type(temp2))
print(type(nums3))
print("集合转换\n")


列表元组转其他类型

# 列表转集合(去重)
  list1 = [6,7,7,8,8,9]
  set(list)
  # {6,7,8,9}
  # 两个列表转字典
  list1 = ['key1','key2','key3']
  list2 = ['1','2','3']
  dict(zip(list1,list2))
  # {'key1':'1','key2':'2','key3':'3'}
  #嵌套列表转字典
  list3=[['key1','value1'],['key2','value2'],['key3','value3']]
  dict(list3)
  # {'key1':'value1','key2':'value2','key3':'value3'}

字典转为其他类型

# 字典转换为字符串
  dic1 = {'a':1,'b':2}
  str(dic1)
  #"{'a':1,'b':2}"
  
  # 字典key和value互转
  dic2 = {'a':1,'b':2,'c':3}
  {value:key for key,value in a_dict.items()}
  #{1:'a',2:'b',3:'c'}

字符串转为其他类型

# 字符串转列表
  s = 'aabbcc'
  list(s)
  #['a','a','b','b','c','c']
  # 字符串转元组
  tuple(s)
  #('a','a','b','b','c','c')
  # 字符串转集合
  set(s)
  # {'a','b','c'}
  
  # 字符串转字典
  dic2=eval("{'name':'1jq','age':24}")
  
  # 切分字符串
  a = 'abc'
  a.split('')
  #['a','b','c']

八、应用场景

  1. 如果想要存储多个数据,但这些数据不能修改,这个时候就用元组–元组数据只支持查找
    (注意:定义元组,当元组只有一个数据的时候,这个数据后面最好也添加逗号) 例子: weekdays = (“Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”)

  2. 如果需要对数据进行更改、添加或删除操作,应该使用列表
    例子:当您要将新电话号码附加到列表时:phone=[number1,number2,…]

  3. 当需要从键到值的映射时,请使用字典-dict。
    例子:当您想要一本将姓名映射到电话号码的电话簿时:{‘John Smith’ : ‘555-1212’})。

  4. 如果需要唯一元素无序集合,请使用集合-set

2、转置函数
Numpy。数组转置
NumPy是用于数据分析、科学计算和数学运算等领域的重要库。它提供了对多维数组的支持,可以处理各种复杂的数学操作。在NumPy中,ndarray是一个重要的数据类型,表示N维数组。

要将NumPy数组转置,只需要使用.T属性即可。

import numpy as np
arr = np.array([[1, 2], [3, 4], [5, 6]])
print(arr.T)

输出结果

array([[1, 3, 5],
      [2, 4, 6]])

Pandas数据框转置
Pandas是一个数据处理库,支持对各种结构化数据的操作。它包括两个重要的数据结构——Series和DataFrame,前者用于处理一维数据,后者用于处理二维数据。

要将Pandas DataFrame转置,可以使用.T属性。

import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
print(df.T)

输出结果

   0  1  2
A  1  2  3
B  4  5  6

转置函数的重要性

数据转置函数在数据分析中很重要,因为数据通常以行的形式存储,而分析时经常需要按列进行操作。以下是使用转置函数的三种方式:

  • 调整数据格式:转置函数可用于将数据在行和列之间转换。例如,使用转置函数可以将以纵向排列的数据转换为横向排列的数据。
  • 分析数据关系:使用转置函数可以更轻松地分析数据之间的关系和趋势。例如,转置后,可以将数据按列分组,并计算每一列的平均值或总和。
  • 网页排名:要排名网页,通常需要将数据转换为水平格式。这时,转置函数可以将数据转换为此格式,使其更容易进行分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值