Сохраняйте значение из кадра данных pandas без индекса или заголовка - PullRequest
0 голосов
/ 28 ноября 2018

Я пытаюсь получить значения из файла CSV, используя python и pandas.Чтобы избежать индекса и заголовков, я использую .values ​​с iloc, но в качестве вывода мое значение хранится в [] скобках.Я не хочу их, мне просто нужно значение.Я не хочу печатать его, но хочу использовать его для других операций.

Мой код:

import pandas as pd
ctr_x = []
ctr_y = []
tl_list = []
br_list = []
object_list = []
img = None

obj = 'red_hat'
df = pd.read_csv('ring_1_05_sam.csv')
ctr_x = df.iloc[10:12, 0:1].values #to avoid headers and index
ctr_y = df.iloc[10:12, 1:2].values #to avoid headers and index

ctr_x =[]
ctr_y =[]

Если я распечатаю результат ctr_x и ctr_y, чтобы проверить, записаны ли правильные значенияВывод, который я получаю:

[[1536.25]
[1536.5 ]]
[[895.25]
[896.  ]]

Итак, я получаю правильные значения, но мне не нужны скобки.Может ли кто-нибудь, пожалуйста, предложить какие-либо другие альтернативы моему методу.Примечание: я не хочу печатать значения, но сохраняю их (без индекса и заголовков) для дальнейших операций

1 Ответ

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

Когда вы используете срез столбца, pandas возвращает Dataframe.Попробуйте

type(df.iloc[10:12, 0:1])
pandas.core.frame.DataFrame

Это, в свою очередь, вернет двумерный массив при использовании

df.iloc[10:12, 0:1].values

Если вы хотите одномерный массив, вы можете использовать целочисленную индексацию, которая будет возвращать ряд,

type(df.iloc[10:12, 0])
pandas.core.series.Series

и одномерный массив,

df.iloc[10:12, 0].values

Так что используйте

ctr_x = df.iloc[10:12, 0].values
ctr_y = df.iloc[10:12, 1].values
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...