Я написал короткую функцию для вывода максимальных значений (или для строк, максимальной длины) для каждого столбца в кадре данных с настройками для различных типов данных.Pandas максимальная длина типа объекта без значений
def maxDFVals(df):
for c in df:
if str(df[c].dtype) in ('datetime64[ns]'):
print('Max datetime of column {}: {}\n'.format(c, df[c].max()))
elif str(df[c].dtype) in ('object', 'string_', 'unicode_'):
df[c].fillna(value='', inplace=True)
print('Max length of column {}: {}\n'.format(c, df[c].map(len).max()))
elif str(df[c].dtype) in ('int64', 'float64'):
print('Max value of column {}: {}\n'.format(c, df[c].max()))
else:
print('Unknown data type for column {}!\n'.format(c))
Он отлично работает, но я просто хотел, чтобы проверить, есть ли лучшая альтернатива линии 6, используя fillna, что мне нужно для того, чтобы иметь дело ни с ценностями. В идеале я бы просто проигнорировал None, но я не мог найти способ использовать что-то вроде skipna = True.
Если бы я действительно хотел, чтобы я предполагаю, что я мог бы добавить
df[c].replace([''], [None], inplace=True)
после строки 7, чтобы вернуть значения None, но это вряд ли то, что кто-то назовет вещий ...
Кто-нибудь есть какие-либо лучше предложения ?
вы не можете попробовать это Df [с] .dropna() карта (LEN) .max() –
Brilliant, спасибо большое @RakeshKumar –