可以使用pandas库来实现按列分组并提取另一列中字符串最长的行。以下是一个示例代码:
import pandas as pd
# 创建示例数据
data = {'Group': ['A', 'A', 'B', 'B', 'C'],
'Text': ['apple', 'banana', 'cat', 'dog', 'elephant']}
df = pd.DataFrame(data)
# 按列分组并提取另一列中字符串最长的行
grouped = df.groupby('Group')['Text'].apply(lambda x: x[x.str.len().idxmax()])
result = grouped.reset_index()
print(result)
运行结果为:
Group Text
0 A banana
1 B dog
2 C elephant
在示例代码中,我们首先创建了一个包含两列(Group和Text)的DataFrame。然后,使用groupby
函数按Group列进行分组,并使用apply
函数在Text列上应用lambda函数。lambda函数中,x.str.len().idxmax()
用于找到Text列中最长字符串的索引。最后,使用reset_index
函数将结果转换为DataFrame并打印输出。