Python 熊猫从宽到长的索引器是什么意思?

Python 熊猫从宽到长的索引器是什么意思?,python,pandas,dataframe,Python,Pandas,Dataframe,使用pd.wide\u to_long()方法将数据从宽格式转换为长格式时遇到问题。错误读取为索引器错误:级别太多:索引只有1个级别,而不是2个 我的代码: 将熊猫作为pd导入 df=pd.read\u csv('data/data.csv',index\u col=False) 打印(df) df.reset_索引(原地=真,下降=真) df['ID']=df.index pd.wide_to_long(df,['OT_','NT_',],i='ID',j=['MISS','HIT','CR'

使用
pd.wide\u to_long()
方法将数据从宽格式转换为长格式时遇到问题。错误读取为
索引器错误:级别太多:索引只有1个级别,而不是2个

我的代码:

将熊猫作为pd导入
df=pd.read\u csv('data/data.csv',index\u col=False)
打印(df)
df.reset_索引(原地=真,下降=真)
df['ID']=df.index
pd.wide_to_long(df,['OT_','NT_',],i='ID',j=['MISS','HIT','CR','FA'])。重置索引()。重命名(列={'OT_':'OT','NT_':'NT'})
CSV(只是垃圾数据):

在panda中,可以使用melt()函数将数据从宽格式转换为长格式,如下所示:

df2=pd.melt(df, ['OT_', 'NT_'], i='ID', j=['MISS', 'HIT', 'CR', 'FA']).reset_index().rename(columns={'OT_': 'OT', 'NT_': 'NT'})
在panda中,可以使用melt()函数将数据从宽格式转换为长格式,如下所示:

df2=pd.melt(df, ['OT_', 'NT_'], i='ID', j=['MISS', 'HIT', 'CR', 'FA']).reset_index().rename(columns={'OT_': 'OT', 'NT_': 'NT'})
  • 问题是没有正确识别后缀,
    i
    应该是
    'PID'
    而不是
    'ID'
    ,并且
    j
    应该是一个字符串
  • “\w+”
    是获取一个或多个单词字符的正则表达式
将熊猫作为pd导入
df2=pd.wide_to_long(df,['OT','NT'],i='PID',j='stubs',sep='',后缀='\w+'))
打印(df2)
新界东
PID存根
111小姐0.10 0.90
121未命中0.10 0.90
212未命中0.10 0.90
321未命中0.10 0.90
423未命中0.10 0.90
534未命中0.10 0.90
621未命中0.10 0.90
721未命中0.10 0.90
812未命中0.10 0.90
922未命中0.10 0.90
111命中0.23 1.00
121命中0.23 1.00
212击0.23 1.00
321击0.23 1.00
423命中0.23 1.00
534命中0.23 1.00
621击0.23 1.00
721命中0.23 1.00
812命中0.23 1.00
922命中0.23 1.00
111 CR 0.56 0.92
121铬0.56 0.92
212铬0.56 0.92
321铬0.56 0.92
423铬0.56 0.92
534铬0.56 0.92
621铬0.56 0.92
721铬0.56 0.92
812铬0.56 0.92
922铬0.56 0.92
111 FA 0.11 0.68
121 FA 0.11 0.68
212 FA 0.11 0.68
321 FA 0.11 0.68
423 FA 0.11 0.68
534 FA 0.11 0.68
621 FA 0.11 0.68
721 FA 0.11 0.68
812 FA 0.11 0.68
922 FA 0.11 0.68
  • 问题是没有正确识别后缀,
    i
    应该是
    'PID'
    而不是
    'ID'
    ,并且
    j
    应该是一个字符串
  • “\w+”
    是获取一个或多个单词字符的正则表达式
将熊猫作为pd导入
df2=pd.wide_to_long(df,['OT','NT'],i='PID',j='stubs',sep='',后缀='\w+'))
打印(df2)
新界东
PID存根
111小姐0.10 0.90
121未命中0.10 0.90
212未命中0.10 0.90
321未命中0.10 0.90
423未命中0.10 0.90
534未命中0.10 0.90
621未命中0.10 0.90
721未命中0.10 0.90
812未命中0.10 0.90
922未命中0.10 0.90
111命中0.23 1.00
121命中0.23 1.00
212击0.23 1.00
321击0.23 1.00
423命中0.23 1.00
534命中0.23 1.00
621击0.23 1.00
721命中0.23 1.00
812命中0.23 1.00
922命中0.23 1.00
111 CR 0.56 0.92
121铬0.56 0.92
212铬0.56 0.92
321铬0.56 0.92
423铬0.56 0.92
534铬0.56 0.92
621铬0.56 0.92
721铬0.56 0.92
812铬0.56 0.92
922铬0.56 0.92
111 FA 0.11 0.68
121 FA 0.11 0.68
212 FA 0.11 0.68
321 FA 0.11 0.68
423 FA 0.11 0.68
534 FA 0.11 0.68
621 FA 0.11 0.68
721 FA 0.11 0.68
812 FA 0.11 0.68
922 FA 0.11 0.68

我尝试了你的代码,但得到了一个不同的错误
TypeError:melt()得到了一个意外的关键字参数“I”
我尝试了你的代码,但得到了一个不同的错误
TypeError:melt()得到了一个意外的关键字参数“I”