2017-07-15 92 views
3

由于这个问题说,我有一个数据帧这是相当大的,但看起来像:如何在python中为特定行值选择数据框中的列数据?

 ID Count ValueX Value 2 Value 3 
RowX 1  234.  255.  yes.  yes 
RowY 1  123.  135.  543.  342 
RowW 1  234.  235.  yes.  yes 
RowJ 1  123.  115.  543.  342 
RowA 1  234.  285.  yes.  yes 
RowR 1  123.  165.  543.  342 
RowX 2  234.  255.  yes.  yes 
RowY 2  123.  135.  543.  342 
RowW 2  234.  235.  yes.  yes 
RowJ 2  123.  115.  543.  342 
RowA 2  234.  285.  yes.  yes 
RowR 2  123.  165.  543.  342 
. 
. 
. 
RowX 1233 234.  255.  yes.  yes 
RowY 1233 123.  135.  543.  342 
RowW 1233 234.  235.  yes.  yes 
RowJ 1233 123.  115.  543.  342 
RowA 1233 234.  285.  yes.  yes 
RowR 1233 123.  165.  543.  342 

我要的是能够在该行RowX为每列ValueX选择所有的值ID编号1-1233并将它们返回列表中。

+0

谢谢大家!你真的很有帮助:) – tushariyer

+0

你应该将其中一个答案标记为'接受'。 –

+0

我做到了!再次感谢 – tushariyer

回答

3

IIUC:

In [30]: df.loc[df.index.isin(['RowX']) & df['ID'].between(1, 1233), 'ValueX'].tolist() 
Out[30]: [255.0, 255.0, 255.0] 
+1

非常感谢! – tushariyer

4
df.query('1 <= ID <= 1233').loc['RowX', 'ValueX'] 

RowX 255.0 
RowX 255.0 
RowX 255.0 
Name: ValueX, dtype: float64 
+2

你会考虑在你的回答中添加'.tolist()'表达式吗? –

0
filtered_df = df[(df.ID.between(1, 1233)) & (df.index == 'RowX')][['ValueX']] 

values_list = filtered_df.ValueX.tolist() 
相关问题