Как мы получаем конкретное отфильтрованные строки в серии?
Пример таблицы данных:
>>> df = pd.DataFrame({'date': [20130101, 20130101, 20130102], 'location': ['a', 'a', 'c']})
>>> df
date location
0 20130101 a
1 20130101 a
2 20130102 c
Мне нужно выбрать строки, где расположение
и C
серии.
Я старалась:
row = df[df["location"] == "c"].head(1) # gives a dataframe
row = df.ix[df["location"] == "c"] # also gives a dataframe with single row
В обоих случаях я могу'т подряд серии.
Используйте выжать
функция, которая будет удалить одно измерение из таблицы данных:
df[df["location"] == "c"].squeeze()
Out[5]:
date 20130102
location c
Name: 2, dtype: object
Таблицы данных.сожми метод действует точно так же из
выжатьаргумент
read_csvфункция, когда установлен в
true`: если полученную таблицу данных является 1-лен таблицы данных, т. е. имеет только одно измерение (столбцов или строк), то объект сжимается до меньшего размера объекта.
В вашем случае, вы получите объект серии из таблицы данных. Та же логика применяется, если сжать панель вниз, к таблице данных.
сожмите явно в коде и ясно показывает свои намерения, чтобы "бросил" и объект в руки, потому что его размеры могут быть спроецированы на поменьше.
Если Таблицы данных имеет более одного столбца или строки, выдавливать не имеет никакого эффекта.
Можно просто взять первую строку с целым числом индексирования ([Мот()](функция http://pandas.pydata.org/pandas-docs/dev/indexing.html)):
>>> df[df["location"] == "c"].iloc[0]
date 20130102
location c
Name: 2, dtype: object