【发布时间】:2020-10-05 04:46:46
【问题描述】:
我的 csv 文件中有以下内容,我正在尝试使用 pandas 从 csv 中读取最后一列。在成功获取最后一列 x2 之后。我无法从输出中访问该列。相反,如果我尝试索引 x2 列,我会得到行。但我想要专栏。
CSV 文件:
symbol,close,low,high,x0,x1,x2
ACC,-1.41,1241.5,1270.0,-1.41,"[1221241.5, 1270, -1.41]","[1241.5, 1270, -1.41]"
ADANIPORTS,-1.61,336.85,346.85,-1.61,"[336.85, 346.85, -1.61]","[336.85, 346.85, -1.61]"
ADANITRANS,3.45,202.8,211.2,3.45,"[202.8, 211.2, 3.45]","[202.8, 211.2, 3.45]"
代码
import pandas as pd
df = pd.read_csv("tickerdb.csv", index_col=0)
print((df.iloc[:, -1]))
输出
symbol
ACC [1241.5, 1270, -1.41]
ADANIPORTS [336.85, 346.85, -1.61]
ADANITRANS [202.8, 211.2, 3.45]
我尝试访问列表中的列,但我得到的是行。
print((df.iloc[:, -1][1]))
新输出:
[336.85, 346.85, -1.61]
但预期的输出是列表中的一列,而不是行:
1270
346.85
211.2
如果我能以某种方式得到,我也可以接受的第二个解决方案
#Current output from last column using df.iloc
ACC [1241.5, 1270, -1.41]
ADANIPORTS [336.85, 346.85, -1.61]
ADANITRANS [202.8, 211.2, 3.45]
#If I can get like below for x2 column is also fine for me.
symbol low high change
ACC 1241.5 1270 -1.41
ADANIPORTS 336.85 346.85 -1.61
ADANITRANS 202.8 211.2 3.45
以上两种解决方案中的任何一种都对我有好处。提前感谢您的帮助。
【问题讨论】:
-
您在寻找
df.high或df['high'] -
不,我希望从我的 csv 列 x2 打印整列输出。即我正在寻找 x2[1] 的列
-
使用@Sushanth 提示,这可以通过
df.x2.apply(lambda row: row[1])解决 -
您希望输出为第二个解决方案的新数据框吗?
标签: python pandas csv data-analysis