在单列数据框中获取具有最大长度的值

时间:2018-03-26 19:21:25

标签: python pandas dataframe

我想知道如何在单列数据帧中获得具有最大长度的值。到目前为止,我只能设法获得最长值的数字长度。我真的尝试过,但我似乎无法获得价值。

df = df.astype('str')
longest_value[i] = df.columns.map(len).max()

非常感谢

1 个答案:

答案 0 :(得分:4)

您需要str.len + idxmax

df.iloc[df.iloc[:, 0].str.len().idxmax()]

或者,

df.iat[df.iloc[:, 0].str.len().idxmax(), 0]

我已经分解了示例DataFrame的步骤 -

df = pd.DataFrame({'col1': ['aaa', 'bbbbb', 'cccccccc', 'ddd', 'ee', 'fffff']})

df    
       col1
0       aaa
1     bbbbb
2  cccccccc
3       ddd
4        ee
5     fffff

df.iloc[:, 0].str.len()    
0    3
1    5
2    8
3    3
4    2
5    5
Name: col1, dtype: int64

df.iloc[:, 0].str.len().idxmax()
2

df.iloc[df.iloc[:, 0].str.len().idxmax()]    
col1    cccccccc
Name: 2, dtype: object

df.iat[df.iloc[:, 0].str.len().idxmax(), 0]
'cccccccc'