参见英文答案 > 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]