如何从dataframe获取当前值以构建列表?

时间:2018-05-29 01:06:34

标签: python pandas dataframe

我在弄清楚如何将数据框中的值插入列表时遇到了麻烦。数据框看起来像这样

date        A        B      C        D     
2018-05-25  188.58   35.56  1.66  21.91  

当我这样做时:

new = stats['A']
print(new)

我明白了:

18    188.58
Name: A, dtype: float64

我正在寻找这样的列表,但是如何在那里获取值:

mylist = [188.58, 35.56, 1.66, 21.91]

3 个答案:

答案 0 :(得分:3)

IIUC

df
Out[165]: 
         date       A      B     C      D
0  2018-05-25  188.58  35.56  1.66  21.91
df.iloc[0,1:]
Out[166]: 
A    188.58
B     35.56
C      1.66
D     21.91
Name: 0, dtype: object
df.iloc[0,1:].tolist()
Out[167]: [188.58, 35.56, 1.66, 21.91]

答案 1 :(得分:0)

您还可以使用df.values创建列表列表,每个列表包含一行数据。

df
         date       A      B     C      D
0  2018-05-25  188.58  35.56  1.66  21.91

df.values.tolist()
[['2018-05-25', 188.58, 35.56, 1.66, 21.91]]

答案 2 :(得分:0)

这是一个示例程序,可以将值附加到列表

array = np.array([188.58, 35.56, 1.66, 21.91])
date = datetime.datetime(2018, 5, 25)

data_frame = pd.DataFrame({'A': 188.58, 'B': 35.56, 'C': 1.66, 'D': 21.91}, index=pd.DatetimeIndex([date]))

list_ = []

for num in range(0, 4):
    list_.append(float(data_frame.iloc[0, num]))

print(list_)

这是我们的输出:

[188.58, 35.56, 1.66, 21.91]

我们可以运行for循环,然后根据iloc位置追加。我们也可以做一个列表理解,但我觉得在这个例子中简单地显示整个循环似乎更有用。