Проверьте столбцы данных, содержащие более 64 символов - PullRequest
0 голосов
/ 06 ноября 2018

Я пытаюсь найти столбец в кадре данных Pandas, который содержит более 64 символов.

Фрейм данных имеет 20 столбцов. Я хочу проверить каждое значение в столбце на его длину символа, и если какое-либо значение превышает 64 символа, выведите имя столбца.

Когда я использую приведенный ниже код, он не выдает никакой ошибки, но не выводит имя столбца, значения которого соответствуют условию.

for col in df.columns:
    if (df[col].str.len()).any() > 64:
        print col

Я также убедился, что все типы данных в кадре данных имеют строковый тип.

Как мне достичь этого, используя Панд?

Ответы [ 2 ]

0 голосов
/ 06 ноября 2018

, если вы хотите использовать any, тогда оно должно быть около сравнения, например:

if (df[col].str.len() > 64).any()

но вы также можете просто сравнить с max:

if (df[col].str.len()).max() > 64

Оба должны давать одинаковый результат

0 голосов
/ 06 ноября 2018

Если все ваши столбцы являются строками:

df.applymap(len).gt(64).any()

Пример данных

df = pd.DataFrame({0: ['foo', 'bar', 'baz'],
                   'X': ['aewrarwqreawfqwerawefqrqwdfawerq2fadsfaqreadfqrawdfawedfeadcfawfawefafrr', '1', '8'],
                   'Y': ['', '714', '']})

df.applymap(len).gt(64).any()
#0    False
#X     True
#Y    False
#dtype: bool
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...