我使用pandas.read_csv()
将csv文件列导入到我的python脚本中。
data = pandas.read_csv(path)
for i in data:
print(i)
为什么它只打印列的第一个元素?
当我使用npdata = np.array(data)
将其转换为numpy数组时,当我打印它时,它会打印除第一个元素之外的所有内容。
实际上我想要做的是从csv文件加载时间日期列并想要做一些特征工程,但我有问题我正确加载它。
答案 0 :(得分:3)
因为,迭代data
将意味着迭代你不想要的列名。
要迭代行,请改为使用df.iterrows
:
data = pandas.read_csv(path)
for i, row in data.iterrows():
print(row)
MCVE:
print(df)
A B
0 1 2
1 3 4
2 5 6
3 7 8
4 9 10
for d in df:
print(d)
A
B
for i, d in df.iterrows():
print(d['A'], d['B'])
1 2
3 4
5 6
7 8
9 10
正如评论中所述,如果您只想查看数据,请打印df.head
:
print(df.head(3)) # the arg is any > zero value signifying the number of rows
A B
0 1 2
1 3 4
2 5 6