python – 要列出的Pandas DataFrame列

参见英文答案 > How do I convert a pandas Series or index to a Numpy array?                                    7个
>            get list from pandas dataframe column                                    6个
我根据满足的另一列中的条件从列中提取数据的子集.

我可以返回正确的值,但它位于pandas.core.frame.DataFrame中.如何将其转换为列表?

import pandas as pd

tst = pd.read_csv('C:\\SomeCSV.csv')

lookupValue = tst['SomeCol'] == "SomeValue"
ID = tst[lookupValue][['SomeCol']]
#How To convert ID to a list

解决方法:

使用.values获取numpy.array,然后使用.tolist()获取列表.

例如:

import pandas as pd
df = pd.DataFrame({'a':[1,3,5,7,4,5,6,4,7,8,9],
                   'b':[3,5,6,2,4,6,7,8,7,8,9]})

结果:

>>> df['a'].values.tolist()
[1, 3, 5, 7, 4, 5, 6, 4, 7, 8, 9]

或者你可以使用

>>> df['a'].tolist()
[1, 3, 5, 7, 4, 5, 6, 4, 7, 8, 9]

要删除重复项,您可以执行以下操作之一:

>>> df['a'].drop_duplicates().values.tolist()
[1, 3, 5, 7, 4, 6, 8, 9]
>>> list(set(df['a'])) # as pointed out by EdChum
[1, 3, 4, 5, 6, 7, 8, 9]
上一篇:FreeSql取多表数据


下一篇:C#