我有以下数据框
col1 col2 B20.0 B20 | B20-B20 B20.0 B20 A16 A15-A20
我想对行进行筛选,以便对于相同的“col1”值,如果col2只有一个值(没有“|')选择此行,否则选择另一行。regex应该在这里工作还是更好的方法在这里工作。预期输出为:
col1 col2 B20.0 B20 A16 A15-A20
83qze16e1#
您可以执行以下操作:
import pandas as pd data = {'col1': ['B20.0', 'B20.0', 'A16'], 'col2': ['B20 | B20-B20', 'B20', 'A15-A20']} df = pd.DataFrame(data) df['len'] = df['col2'].apply(lambda x: len(x.split('|'))) df.groupby('col1', as_index=False).agg('min').drop('len', axis=1)
1条答案
按热度按时间83qze16e1#
您可以执行以下操作: