首页 > 其他分享 >array 0维 1维 及以上 注意0维shape不可取下标

array 0维 1维 及以上 注意0维shape不可取下标

时间:2023-12-15 15:06:45浏览次数:25  
标签:index arr 下标 df shape setFirstRowAsColName array

import numpy as np
import pandas as pd
for obj in ['StrOrIntOr', [], ['element'], [[]], [[],[]]]:
    arr = np.array(obj)
    df = pd.DataFrame(
        [i, type(i)]
        for i in
        [obj, arr, arr.shape, len(arr.shape)]
    )
    df.columns = ["display", "type"]
    df.index = ["obj", "array", "shape", "dimmension"]
    display(df)

array 0维 1维 及以上 注意0维shape不可取下标_arr

array 0维 1维 及以上 注意0维shape不可取下标_arr_02



import numpy as np
import pandas as pd
for obj in ['StrOrIntOr', [], ['element'], [[]], [[],[]]]:
    arr = np.array(obj)
    dim = len(arr.shape)
    if dim == 0:
        # 需要[]
        df = pd.DataFrame([arr])
        # df.shape[0] == 1, 可取行下标
        df_setFirstRowAsColName = df.copy()
        df_setFirstRowAsColName.columns = df.iloc[0]
        df_dropFirstRow = df_setFirstRowAsColName.drop(index=0).reset_index(drop=True)
    elif dim == 1:
        df = pd.DataFrame(arr)
        # np.array([]).shape == (0,)
        # pd.DataFrame(np.array([])).shape == (0, 1)
        # 不可取行下标
        if arr.shape[0] == 0:
            df_setFirstRowAsColName = df.copy()
            df_setFirstRowAsColName.columns = ["不可取下标"]
            df_dropFirstRow = "不可取下标"
        # array(['element']).shape = (1,)
        elif arr.shape[0] > 0:
            df_setFirstRowAsColName = df.copy()
            df_setFirstRowAsColName.columns = df.iloc[0]
            df_dropFirstRow = df_setFirstRowAsColName.drop(index=0).reset_index(drop=True)
    elif dim > 1:
        df = pd.DataFrame(arr)
        df_setFirstRowAsColName = df.copy()
        df_setFirstRowAsColName.columns = df.iloc[0]
        df_dropFirstRow = df_setFirstRowAsColName.drop(index=0).reset_index(drop=True)

标签:index,arr,下标,df,shape,setFirstRowAsColName,array
From: https://blog.51cto.com/u_16055028/8840940

相关文章

  • pandas.array() 与 numpy.array() 函数的区别
    https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.array.html#pandas.array`pandas.array()`和`numpy.array()`都是用于创建数组的函数,但它们在一些方面有所不同¹²:1.**数据类型**:`numpy.array()`可以创建多维数组,而`pandas.array()`主要用于创建Pandas的`Se......
  • js中Array.from方法
    这个方法,主要用于将一个类似数组的东西变成为数组一.将一个字符串转化伪数组letstr='helloWord'letarr=Array.from(str)console.log(arr)//输出['h','e','l','l','o','W','o','r','......
  • select_shape 中features参数解析
    Halcon算子select_shape-借助形状特征选择区域(选择轮廓)select_shape- 借助形状特征选择区域。原型:1select_shape(Regions:SelectedRegions:Features,Operation,Min,Max:)(将连接的区域进行筛选,筛选的特征有很多,如面积长度等,可以去掉不满足条件......
  • numpy之003ndarray
    numpy常用的函数和属性 函数语法:numpy.array(object,dtype=None,copy=True,order='K',subok=False,ndmin=0)object:任何暴露数组接口方法的对象,通常是列表或元组。dtype:数组的所需数据类型,可选。copy:默认为True,意味着创建对象的副本。如果设置为False,则尝试使用原始对......
  • PWN-非栈上格式化字符串之.fini_array劫持
    1..fini_array劫持上周打了一下金盾杯,算是第一次做非栈上格式化字符串的题,之前只在ctfwiki上看过一点。边学边做,比赛最后一个小时做出来了,爽了。以金盾杯的题为例1.12023金盾杯sign_format题目介绍:一道非栈上的格式化字符串,通过修改dl_fini数组里的偏移值,使函数在退出时执......
  • 【JavaSE】集合Collection{List(ArrayList, LinkedList), Set(TreeSet, HashSet, Link
    集合单列集合:Collection接口单列集合:一次添加一个元素;如果集合中添加的是类,要重写equals方法,否则比较的是地址,无法正常删除内容相同的元素。单列集合通用遍历方式1.迭代器遍历2.增强for循环遍历增强for循环底层逻辑还是迭代器,字节码文件反编译为java会发现还是迭代......
  • Python:列表的下标索引
    列表的下标(索引):取出特定位置的数据语法:列表[下标索引]列表的下标(索引)-反向反向索引就是从后向前:从-1开始,依次递减(-1、-2、-3...)嵌套列表的下标(索引)列表[内层列表[索引]]#通过下标索引取出对应位置的数据my_list=["itheima",666,True]#列表[下标索引],从前向后从......
  • 这就解释了tuple("单个多字符字符串") type==tuple, 其实是字符串被拆分到元组中, 以
    #单个多字符字符串拆分list("单个多字符字符串")tuple("单个多字符字符串")set("单个多字符字符串")#重新排序#dict不行ValueError:dictionaryupdatesequenceelement#0haslength1;2isrequiredlist("单个多字符字符串",)tuple("单个多字符字符串",)set("......
  • 第1章. 动态数组(ArrayList)
    动态数组一、动态数组接口设计//这里可以写一个List接口,然后ArrayList类去实现这个接口,实现接口中的方法。但为了方便起见,直接将这些方法写在类中。//这些方法暂时不添加泛型、和正确的返回值publicclassArrayList{//动态数组的长度privateintsize;......
  • AtomicArray
    AtomicIntegerai=newAtomicInteger(1);//1.获取值System.out.println("ai.get="+ai.get());//2.增加指定值并获取System.out.println("ai.addAndGet(2)="+ai.addAndGet(2));System.out.println("ai.get="+ai.get());//3.比较并设置1.预期值2.......