Удалять дублированные имена столбцов, заканчивающиеся A
, если не продублированы, то нет:
c = ['A45-443-FGH-02A','A45-443-FGH-02B','B45-02A']
df = pd.DataFrame(columns=c)
print (df)
Empty DataFrame
Columns: [A45-443-FGH-02A, A45-443-FGH-02B, B45-02A]
m1 = df.columns.str[:-1].duplicated(keep=False)
m2 = df.columns.str.endswith('A')
df = df.loc[:, (m1 & ~m2) | ~m1]
print (df)
Empty DataFrame
Columns: [A45-443-FGH-02B, B45-02A]
Index: []
При работе с такими столбцами, как A
:
c = ['A45-443-FGH-02A','A45-443-FGH-02B','B45-02A']
df = pd.DataFrame({'A':c})
print (df)
A
0 A45-443-FGH-02A
1 A45-443-FGH-02B
2 B45-02A
m1 = df.A.str[:-1].duplicated(keep=False)
m2 = df.A.str.endswith('A')
df = df[(m1 & ~m2) | ~m1]
print (df)
A
1 A45-443-FGH-02B
2 B45-02A