我正在尝试使用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. ]]
所以我想我得到了正确的值,但我不希望使用方括号。任何人都可以提出其他替代我的方法的建议。注意:我不想打印这些值,而是将其存储(不包含索引和标头)以进行进一步的操作
答案 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