У меня есть некоторые данные, которые выглядят так в 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'))
2 ответа
Вы можете использовать метод issubset
для возврата логического значения, если ['OAT', 'MAT', 'RAT']
находится в столбцах фрейма данных:
expected = set(['OAT', 'MAT', 'RAT'])
print(expected.issubset(df.columns))
Работа со столбцами данных.
mask = df.columns.isin(['OAT', 'MAT', 'RAT'])
mask
теперь является логическим numpy.ndarray
с True
для любой позиции столбца соответствует вашему списку 'isin'.
Похожие вопросы
Новые вопросы
python
Python - это многопарадигмальный, динамически типизированный, многоцелевой язык программирования. Он разработан для быстрого изучения, понимания и использования, а также для обеспечения чистого и единообразного синтаксиса. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Тем не менее, для вопросов о Python, связанных с версией, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas и NumPy) включите его в теги.