我想知道如何在单列数据帧中获得具有最大长度的值。到目前为止,我只能设法获得最长值的数字长度。我真的尝试过,但我似乎无法获得价值。
df = df.astype('str')
longest_value[i] = df.columns.map(len).max()
非常感谢
答案 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'