首页 > 其他分享 >自动检测MultiIndex的维数并全部转化为整数

自动检测MultiIndex的维数并全部转化为整数

时间:2023-09-19 13:32:21浏览次数:53  
标签:index MultiIndex df 自动检测 维数 int pd my


将pd.MultiIndex.from_tuples(

   [(int(a), int(b)) for a, b in my_df.index],

   names=my_df.index.names

)改写为自动检测MultiIndex的维数并全部转化为整数的函数

import pandas as pd
import numpy as np

# Your original DataFrame
my_df = pd.DataFrame(
    np.add(np.arange(4).reshape(2, 2), 0.1), columns=['col' + str(i) for i in range(2)]
).pivot_table(
    index=['col' + str(i) for i in range(2)]
)

# Convert MultiIndex to integers
my_df.index = pd.MultiIndex.from_tuples(
    [(int(a), int(b)) for a, b in my_df.index],
    names=my_df.index.names
)

print(my_df.index)
import pandas as pd

def convert_multiindex_to_int(multiindex):
    """
    Convert all levels of a MultiIndex to integers.
    
    Parameters:
    multiindex (pd.MultiIndex): MultiIndex to be converted.
    
    Returns:
    pd.MultiIndex: New MultiIndex with all levels converted to integers.
    """
    new_tuples = [tuple(int(item) for item in tup) for tup in multiindex]
    return pd.MultiIndex.from_tuples(new_tuples, names=multiindex.names)

# Your original DataFrame
my_df = pd.DataFrame(
    np.add(np.arange(4).reshape(2, 2), 0.1), columns=['col' + str(i) for i in range(2)]
).pivot_table(
    index=['col' + str(i) for i in range(2)]
)

# Convert MultiIndex to integers using the function
my_df.index = convert_multiindex_to_int(my_df.index)

print(my_df.index)

标签:index,MultiIndex,df,自动检测,维数,int,pd,my
From: https://blog.51cto.com/u_16055028/7524543

相关文章

  • 二维数组最大连续和
    最大相连男生importjava.util.Scanner;importjava.util.*;//注意类名必须为Main,不要有任何packagexxx信息publicclassMain{staticintrow;staticintcol;staticint[][]arr;staticint[][]offsets={{0,1},{1,0},{1,-1},{1,1}};......
  • 数组详解——一维数组,二维数组(初始化,存储,输入与输出……)
    概念相同元素的集合,存放>=1个数据类型相同1.一维数组typearr_name[常量值(元素个数)]存放在数组的值是数组元素,在创建数组时可以指定数组的大小和元素类型type是数组元素的类型,可以是char,short,int,float,也可以自定义1.1初始化完全初始化:intarr1[5]={1,2,3,4,5};不完全初始化:(......
  • 二维数组的存储顺序、表示方法
    二维数组的存储顺序、表示方法先说一维数组:1.数组首地址也是第一个元素的首地址1#include<iostream>2usingnamespacestd;34intmain(){5intarr[5]={};6cout<<"arr="<<arr<<endl;7cout<<"&arr[0]=&q......
  • 【笔记】二维数组在内存地址中的存储
    最近在学习STM32的ADC和DMA多通道采集过程中有使用到二维数组,姑且记录一下以作备忘。参考:http://c.biancheng.net/view/2022.html举个例子就能很简单的说明了创建一个M行N列的int数组,数组定义如下(例:M=3N=5)#defineM3#defineN5intarr[M][N];给数组按顺序赋值int(*......
  • ACM模式下快速读取二维数组
    ACM二维数组的读取输入550100001110000000111000010读取Scannerin=newScanner(System.in);introw=in.nextInt();intcol=in.nextInt();int[][]arr=newint[row][col];for(inti=0;i<row;i++){for(intj=0;j<col......
  • 多维数组
    #include<stdio.h>#include<stdlib.h>#defineM3#defineN3voidinput(inta[][N],intm){ inti,j; for(i=0;i<m;i++) for(j=0;j<N;j++) scanf("%d",&a[i][j]);}voidoutput(inta[][N],intm){ in......
  • 通过指针变量存取一维数组元素
    通过指针变量存取一维数组元素下面展示一下。#include<stdio.h>intmain(){ inta[10],*p; for(p=a;p<a+10;p++) { scanf("%d",p); }for(p=a;p<a+10;p++) { printf("%d",*p); } printf("\n"); return0;}测试输入......
  • 动态规划在二维数组上的运用
    力扣连接:https://leetcode.cn/problems/unique-paths/题目一个机器人位于一个mxn网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?示例1:输入:m=3,n=......
  • 为WordPress插件添加自动检测更新和一键升级功能
    自己做了插件给别人来用,然后更新新功能之后,别人也不知道只能是通过发邮件之类的提醒进行。  今天为大家介绍下,自己开发的插件如何增加版本检测和一键更新。  设置远程服务和添加插件检测功能  1、下载所需文件(搜索:ts小陈)  plugin-update-checker ......
  • C语言读取csv文件并保存到二维数组
     #include<stdio.h>#include<string.h>#include<time.h>#defineMAXCHAR1024#defineMAXCOUNT1000000char*mat[MAXCOUNT][9];//如果放到main里面会有长度限制使应用程序退出,放在外面作为全局变量没有限制。intmain(){clock_tstart,end;start=clo......