Чтобы найти типы данных столбца в заданном файле, найти максимальное и минимальное значение каждого столбца, в случае строки найдите максимальную, минимальную строку в зависимости от длины - PullRequest
0 голосов
/ 25 апреля 2020

данные данного файла:

   Name     age   weight  
   John     21    78.5  
   kennedy  39    68.3   

ожидаемый результат:

col_name   dtype
Name       str    max: kennedy min: john
age        int    max: 39      min: 21
weight     float  max: 78.5    min: 68.3

**** Может кто-нибудь помочь мне с решением? **

Также я попробовал это, но не знаю, как найти его max, min для строки, я просто сделал для int, float . **

import pandas as pd

df=pd.read_csv(P1-UK-Bank-Customers.csv")

for col in df.select_dtypes([np.int8, np.int16, np.int32, np.int64, np.float]):

print('column: ', col)
print('max: ',df[col].max())
print('min: ',df[col].min())
print()**

Ответы [ 2 ]

0 голосов
/ 25 апреля 2020

Вы можете создать фрейм данных из списка диктов. Затем распечатайте его в любом формате. Для строк min и max будут эквивалентны первому и последнему значению в списке строк, отсортированных в порядке возрастания.

vals = []
for col in df.columns:
    vals.append({'col_name': col, 
                 'dtype': df[col].dtype,
                 'max': df[col].max(),
                 'min': df[col].min()})
df = pd.DataFrame(vals)

Вывод

  col_name    dtype      max   min
0     Name   object  kennedy  John
1      age    int64       39    21
2   weight  float64     78.5  68.3

0 голосов
/ 25 апреля 2020

Попробуйте что-то вроде этого:

def min_mx_dtype(x):
    return pd.Series(index=['min', 'max', 'dtype'],data=[x.min(), x.max(), x.dtype])

print(df.apply(min_mx_dtype).T.reset_index())

      index   min      max    dtype
0      Name  John  kennedy   object
1       age    21       39    int64
2  weight    68.3     78.5  float64
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...