存储来自pandas数据框的值,不包含索引或标头

时间:2018-11-27 22:05:08

标签: python-3.x pandas

我正在尝试使用python和pandas从CSV文件中获取值。为了避免索引和标头,我将ivalue与.values一起使用,但作为输出,我的值存储在[]中。我不想要他们,我只需要价值。我不想打印它,但想将其用于其他操作。

我的代码是:

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 :(得分:0)

使用列切片时,pandas返回一个数据框。试试

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