pandas读取csv没有最后一列

紫色蒲公英 提问于 8个月前

csv文件如图:

代码部分如下:

CSV_COLUMN_NAMES = ['SepalLength', 'SepalWidth',
                    'PetalLength', 'PetalWidth', 'Species']

# train为文件路径
train = pd.read_csv(train_path, names=CSV_COLUMN_NAMES, header=0)
train_x, train_y = train, train.pop(y_name)

print(train)
# print(train_x)
# print(train_y)

结果:



请问为什么没有最后一列?明明是5列的?

回答 2
2 个回答
8个月前

(y_name 是什么?)

回复 · 1
紫色蒲公英 回复 lamdba 8个月前 回复
就是那个CSV_COLUMN_NAMES 的最后一个列名,前面四个列都能显示出来

应该是.pop()方法这里。pandas读取csv文件的数据返回了NDFrame类型,它包含了.pop()方法,这个方法的意思是取出指定元素(默认为-1,也就是最后一个),同时将该元素从原有对象中删除。的确,这句太能迷惑人了。

train_x, train_y = train, train.pop(y_name)
回复 · 1
lamdba 回复 美しきもの 8个月前 回复
pop原意为出栈,一般正是删除并返回的意思
需要登录后才能回答,快点击 来分享你的回答吧~
0 关注
0 收藏,199 浏览
邀请回答
分享到