首页 > 解决方案 > “重复喜欢”特定字母删除

问题描述

 5645-01B                5645-01A           2002-01A             5325-01C
1812.999999       |      3265.00001   |    4723.000002     |     2190.999996
43.00000001       |          1        |      2.5           |          0
622               |         1783      |   2240.499994      |     1553.000002
1568.999996       |      850.0000002  |  757.9999998       |     948.9999999

这是我表格的一小部分,我需要删除最后一个字母 (A/B/C),以便将其交换到另一个数据帧上。我用了:

df1.columns = df1.columns.str.rstrip('A')
df1.columns = df1.columns.str.rstrip('B')
df1.columns = df1.columns.str.rstrip('C')

但问题似乎是重复的。正如您在上面看到的,有相同的数字,但最后的字母不同(A、B 或 C)。我只需要获取最后一个版本,这意味着如果有一列带有 C 字母并且存在带有 A 或 B 的数字重复,我必须完全删除 A/B 列/列,并且 C 列保持没有 C 。 前任。“5645-01B”必须保留为 5645-01,而 5645-01A 必须删除。问题是我不能像以前那样删除字母或删除所有“A”,因为某些“A”列没有 B 或 C,我必须保留它们。如何仅检查“最新版本”并保留它们?

PS顶行是列名。预期的:

5645-01                       2002-01                  5325-01
1812.999999       |          4723.000002       |     2190.999996
43.00000001       |               2.5          |        0                    
622               |         2240.499994        |     1553.000002
1568.999996       |         757.9999998        |     948.9999999

我继续的代码:

df1=df1.transpose()
df2 = pd.read_csv('table3.csv', index_col=['SAMPLE_ID'])
df1 = df1[df1.index.isin(df2.index)]
df1['The_ID'] = df2['EGF']
print(df1.head)

之后它打印“Nans”而不是数值。****SAMPLE_ID 是一个索引,它类似于上面带有数字的第一行,但它不包含任何字母,所以我必须删除它们。

标签: pandasduplicatesletter

解决方案


推荐阅读