Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 对齐熊猫中的数据帧,以便数据在行中匹配_Python_Pandas_Alignment - Fatal编程技术网

Python 对齐熊猫中的数据帧,以便数据在行中匹配

Python 对齐熊猫中的数据帧,以便数据在行中匹配,python,pandas,alignment,Python,Pandas,Alignment,我想调整我的数据 我现在有这样的: Yan TNSeq Kato Eco-GeneOrth Essential accA accA accA accA accA accB accB accB accB accB accC accC accC accC accC accD accD accD accD

我想调整我的数据

我现在有这样的:

Yan     TNSeq   Kato    Eco-GeneOrth    Essential

accA    accA    accA        accA        accA    
accB    accB    accB        accB        accB    
accC    accC    accC        accC        accC    
accD    accD    accD        accD        accD    
aceF    acpP    acpP        alaS        aceF    
acpP    acpS    acpS        argA        acpP    
acpS    adk     adk         argB        acpS    
我想要的是:

Yan     TNSeq   Kato    Eco-GeneOrth    Essential

accA    accA    accA        accA        accA    
accB    accB    accB        accB        accB    
accC    accC    accC        accC        accC    
accD    accD    accD        accD        accD    
aceF    NaN     NaN         Nan         aceF    
acpP    NaN     Nan         acpP        acpP    
NaN     acpS    NaN         NaN         acpS    
我试过使用reindex和sort,但没有成功

我不懂


基本上,我想要的是将前4列与基本列对齐或排序,以便行中的数据匹配。

更新:

In [120]: df[df.apply(lambda x: x['Essential'] == x, axis=1)]
Out[120]:
    Yan TNSeq  Kato Eco-GeneOrth Essential
0  accA  accA  accA         accA      accA
1  accB  accB  accB         accB      accB
2  accC  accC  accC         accC      accC
3  accD  accD  accD         accD      accD
4  aceF   NaN   NaN          NaN      aceF
5  acpP   NaN   NaN          NaN      acpP
6  acpS   NaN   NaN          NaN      acpS
试试这个:

In [86]: df[df.apply(lambda x: x[0] == x, axis=1)]
Out[86]:
    Yan TNSeq  Kato Eco-GeneOrth Essential
0  accA  accA  accA         accA      accA
1  accB  accB  accB         accB      accB
2  accC  accC  accC         accC      accC
3  accD  accD  accD         accD      accD
4  aceF   NaN   NaN          NaN      aceF
5  acpP   NaN   NaN          NaN      acpP
6  acpS   NaN   NaN          NaN      acpS
数据:

IIUC使用并传递带有arg
axis=0的列,以针对该列创建整个df的布尔掩码:

In [49]:
df[df.eq(df['Essential'],axis=0)]

Out[49]:
    Yan TNSeq  Kato Eco-GeneOrth Essential
0  accA  accA  accA         accA      accA
1  accB  accB  accB         accB      accB
2  accC  accC  accC         accC      accC
3  accD  accD  accD         accD      accD
4  aceF   NaN   NaN          NaN      aceF
5  acpP   NaN   NaN          NaN      acpP
6  acpS   NaN   NaN          NaN      acpS

这似乎是对的。虽然我不理解OP的预期输出,但我认为OP的预期输出中有一点输入错误DF@MaxU对不起,如果我没有任何意义,英语不是我的母语。我想要的是将前4列与最后一列(基本列)对齐,以便行中的数据匹配,并在数据不匹配的地方留下空格(NaN),这是可行的,但不是我想要的。我想对齐数据,使其匹配可能我不清楚。英语不是我的母语,我想对数据进行排序,而不是用空格代替。你的评论毫无意义。有些东西怎么能起作用,却不是你想要的????你真的需要更好地解释你想要什么,而不是浪费每个人的时间。我无意中没有完成就按了回车键,当时我正在编辑评论,但速度不够快。抱歉,如果它看起来很粗鲁你是对的你不清楚你的解释与你想要的输出没有明显的相关性,例如,你能通过编辑你的问题来解释你是如何到达最后两行的,因为它不明显吗
In [49]:
df[df.eq(df['Essential'],axis=0)]

Out[49]:
    Yan TNSeq  Kato Eco-GeneOrth Essential
0  accA  accA  accA         accA      accA
1  accB  accB  accB         accB      accB
2  accC  accC  accC         accC      accC
3  accD  accD  accD         accD      accD
4  aceF   NaN   NaN          NaN      aceF
5  acpP   NaN   NaN          NaN      acpP
6  acpS   NaN   NaN          NaN      acpS