«Дублировать лайк», указать c удаление письма - PullRequest
1 голос
/ 03 марта 2020
 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 буквой и есть цифра c, дублирующаяся с A или B, я должен полностью удалить столбец / столбцы A / B, и * Столбец 1019 * остается без C. Ex. «5645-01B» должно оставаться как 5645-01, тогда как 5645-01A должно быть удалено. Проблема в том, что я не могу просто удалить буквы, как сделал, или удалить все буквы «А», потому что в некоторых столбцах «А» нет 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» вместо цифр c значений. **** SAMPLE_ID - это индекс, который похож на верхний ряд с числами, но не содержит букв, поэтому я должен удалить их.

...