码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • python数据类型


    文章目录

    • 数据类型
      • np.array
      • torch.tensor
      • list(没有shape)
      • pd.DataFrame
      • set {'1', '2', '3'}
      • dict {"1":1, "2":2}
      • str r/f/b/..‘abc’
    • 数据转型
      • bool转int(可用于数组)
      • numpy转torch.tensor
    • 奇妙用法
      • 1.dic['a'][()]
    • 文件打开
      • h5

    数据类型

    np.array

    a = np.array([[1,2,3],
                  [4,5,6]])
    print(f"a = {a}")
    # a = [[1 2 3]
    #     [4 5 6]]
    print(f"a.size = {a.size}")
    print(f"a.shape = {a.shape}")
    # a.size = 6
    # a.shape = (2, 3)
    print(f"a.size() = {a.size()}")
    # TypeError: 'int' object is not callable
    
    # np.zeros
    # dtype默认' float '
    np.zeros((2,3),dtype='int')
    ---------------
    array([[0, 0, 0],
    [0, 0, 0]])
    
    np.zeros(5)
    -----------------
    array([0., 0., 0., 0., 0.])
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    array有shape和size,其中size是总大小,没有size()
    Python中size和shape区别

    torch.tensor

    a = np.array([[1,2,3],
                  [4,5,6]])
    
    x = torch.tensor(a)
    # x = tensor([[1, 2, 3],
    #        [4, 5, 6]], dtype=torch.int32)
    print(f"x.size() = {x.size()}")
    print(f"x.shape = {x.shape}")
    # x.size() = torch.Size([2, 3])
    # x.shape = torch.Size([2, 3])
    print(f"x.size = {x.size}")
    # x.size = 
    
    # torch.ones
    >>> torch.ones(2, 3)
    tensor([[ 1.,  1.,  1.],
            [ 1.,  1.,  1.]])
    
    >>> torch.ones(5)
    tensor([ 1.,  1.,  1.,  1.,  1.])
    
    # torch.ones_like
    >>> input = torch.empty(2, 3)
    >>> torch.ones_like(input)
    tensor([[ 1.,  1.,  1.],
            [ 1.,  1.,  1.]])
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    tensor有size()和shape,不需要用size
    深入浅出Pytorch函数——torch.ones_like

    list(没有shape)

    b = [[1,2,3],
         [4,5,6]]
    print(f"b = {b}")
    # b = [[1, 2, 3], [4, 5, 6]]
    
    • 1
    • 2
    • 3
    • 4

    list没有shape

    pd.DataFrame

    创建pd.DataFrame的方法. pd.DataFrame函数详解

    set {‘1’, ‘2’, ‘3’}

    dict {“1”:1, “2”:2}

    取值时key要加引号’',比如a[‘1’]

    str r/f/b/…‘abc’

    str前是r表示raw,即不转义,将引号中字符串的转义字符忽略
    f表示format(应该),可以解析{}中的内容
    b表示byte

    import os
    
    n = r'\n\n\n\n' # 不表示换行,而是\n\n\n\n字符串
    
    template = r'C:\Users\{}\Documents\myfile.txt'
    username = os.getlogin()
    filepath = template.format(username)
    print(filepath)  # 'C:\\Users\\username\\Documents\\myfile.txt'
    
    print("你好".encode(encoding="utf-8")) # b'\xe4\xbd\xa0\xe5\xa5\xbd'
    print(b'\xe4\xbd\xa0\xe5\xa5\xbd'.decode()) # 你好
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    数据转型

    bool转int(可用于数组)

    array用.astype(int)
    tensor用.int()

    numpy转torch.tensor

    # 这里还把tensor变成flout型了
    V_feat = torch.from_numpy(self.all_V[int2name][()]).float()
    
    • 1
    • 2

    奇妙用法

    1.dic[‘a’][()]

    其实[()]相当于没加,另外这里需要注意的是[ ]中的key要是字符串,即要打’ ’ 符号

    import numpy as np
    a = np.array([[1,2],[3,4]])
    dic = {'a':a}
    print(dic['a'])
    print(dic['a'][()])
    
    • 1
    • 2
    • 3
    • 4
    • 5

    文件打开

    h5

    self.all_V = \
                h5py.File(os.path.join(config['feature_root'], 'V', f'{self.V_type}.h5'), 'r')
    # self.all_A = 
    
    
    # 查看数据的例子之一
    def h5_to_dict(self, h5f):
            ret = {}
            for key in h5f.keys():
                ret[key] = h5f[key][()] # 这个[()]好像加不加都行
            return ret
    elf.all_A = self.h5_to_dict(self.all_A)
    # len(self.all_A.keys()) = 5531
    # self.all_A = {'Ses02F_impro04_M018': array([[ 0.00000000e+00,  6.75401259e-02,  0.00000000e+00, ...,
    #     -1.20360625e+00, -4.94986379e-01, -8.83533782e-01],
    #    ...,
    #    [ 0.00000000e+00,  5.76842853e-01,  0.00000000e+00, ...,
    #     -5.83715754e-01, -3.27415824e-01,  7.86298778e-01]]), 'Ses02F_impro04_M019': array(,...)}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
  • 相关阅读:
    Vue2.0+AntvX6—节点 Node
    XJTUSE-数据结构-homework2
    润色论文Prompt
    百数SRM应用,一站式数字化管理供应商关系
    MQTT X v1.8.1版本发布:桌面端支持自动更新,MQTT X CLI支持MQTT 5.0
    matlab中hamming窗的 c/c++ 版本的实现
    原版畅销36万册!世界级网工打造TCP/IP圣经级教材,第5版终现身
    MLX90614红外测温传感器使用arduino采集温度数据OLED显示
    一键免密登录云平台!ZStack Cloud 4.5.0等你来解锁……
    [Linux](16)网络编程:网络概述,网络基本原理,套接字,UDP,TCP,并发服务器编程,守护(精灵)进程
  • 原文地址:https://blog.csdn.net/double_yellow/article/details/133187163
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号