我在这里有一个问题,假设我有这个数据框:
import pandas as pd
df = pd.DataFrame([[1, 2, 1], [1, 3, 2], [4, 6, 3], [4, 3, 4], [5, 4, 5]], columns=['A', 'B', 'C'])
>> df
A B C
0 1 2 1
1 1 3 2
2 4 6 3
3 4 3 4
4 5 4 5
比方说,我必须得到A = 4的行:
2 4 6 3和3 4 3 4
如何将这些数据转换为带有INDEX号的列表?
Paulo
答案 0 :(得分:1)
您只希望所有这些数据都在列表中?这样的事情怎么样:
>>> df.reset_index(drop=False).query('A == 4').values.tolist()
[[2, 4, 6, 3], [3, 4, 3, 4]]
其中索引是每个子列表中的第0个项目,每列的值是每个子列表中的其余项目(即从索引1到3)
使用reset_index(drop=False)
重置索引只需要向DataFrame中添加一个index
列即可,该列由您以前建立的索引组成,并且可以轻松地将所有这些数据转换为列表-子列表格式。 / p>
答案 1 :(得分:0)
使用过滤
这应该有效
df[df.A == 4]