У меня есть некоторые данные, которые выглядят так в CSV-файле: введите описание изображения здесь

Можно ли вывести логическое выражение, если имена столбцов данных : MAT и OAT и RAT?

Нужна ли для этого серия панд? Например, Series.str.contains ?

import pandas as pd


df = pd.read_csv('static/data.csv')


#OAT = pd.Series(df['OAT'])
#RAT = pd.Series(df['RAT'])
#MAT = pd.Series(df['MAT'])

dfS = pd.Series(df)

print(dfS.str.contains('OAT', 'MAT', 'RAT'))
0
HenryHub 29 Май 2019 в 23:57

2 ответа

Лучший ответ

Вы можете использовать метод issubset для возврата логического значения, если ['OAT', 'MAT', 'RAT'] находится в столбцах фрейма данных:

expected = set(['OAT', 'MAT', 'RAT'])
print(expected.issubset(df.columns))
0
kudeh 29 Май 2019 в 21:10

Работа со столбцами данных.

mask = df.columns.isin(['OAT', 'MAT', 'RAT'])

mask теперь является логическим numpy.ndarray с True для любой позиции столбца соответствует вашему списку 'isin'.

0
Will 29 Май 2019 в 21:02