kar*_*ran 2 python numpy python-3.x pandas pandas-groupby
我有一个数据框,其中行中有重复的列标题。我只需要删除重复的标头名称而不是重复的值。请注意,在这种情况下,标头为“无”
输入:
0. Gender age occu name
1. F 21 A B
2. Gender age occu name
3. M 22 C D
4. Gender age occu name
5. M 23 F E
6. M 23 F E
Run Code Online (Sandbox Code Playgroud)
所需输出:
0. Gender age occu name
1. F 21 A B
2. M 22 C D
3. M 23 F E
5. M 23 F E
Run Code Online (Sandbox Code Playgroud)
为此我正在尝试:
for i in range(0,len(a)-1):
print(a.iloc[i])
if(a.loc[0] == a.loc[i+1]).all() == True:
print('yes')
a.drop(i)
Run Code Online (Sandbox Code Playgroud)
请注意,我无法直接获取行名称(第 0 行,因为它可能会发生变化,这就是为什么我必须使用循环将所有其他行与第 0 行进行比较,并且必须在匹配的地方删除该行)。将第 0 行视为主行。
如果需要所有行,如果第一列名称与第一列不匹配,请boolean indexing使用DataFrame.iloc:
print (df)
Gender age occu name
0 F 21 A B
1 Gender age occu name
2 M 22 C D
3 Gender age occu name
4 M 23 F E
5 M 23 F E
Run Code Online (Sandbox Code Playgroud)
df1 = df[df.iloc[:, 0] != df.columns[0]]
#alternative
#df1 = df[df.iloc[:, 0].ne(df.columns[0])]
print (df1)
Gender age occu name
0 F 21 A B
2 M 22 C D
4 M 23 F E
5 M 23 F E
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1158 次 |
| 最近记录: |