Python 如何在Pandas中获取集合数组的索引值
如果我有一个数据框,其中一列显示一个集合数组,那么如何在集合数组中获取特定值 df: 期望的:Python 如何在Pandas中获取集合数组的索引值,python,pandas,dataframe,numpy,Python,Pandas,Dataframe,Numpy,如果我有一个数据框,其中一列显示一个集合数组,那么如何在集合数组中获取特定值 df: 期望的: 1st index: 878 2nd index: 999 3rd index: 858 我尝试的是: df['Array'].values[0] >> {878,999,858} 当我试图添加df['Array'].values[0].index.values[2]以获取第二个索引时,它不允许我这样做 谢谢。可能有更好的方法,但是 创建测试数据帧 打印数据帧 打印第0行 将第0行打印
1st index: 878
2nd index: 999
3rd index: 858
我尝试的是:
df['Array'].values[0]
>> {878,999,858}
当我试图添加df['Array'].values[0].index.values[2]
以获取第二个索引时,它不允许我这样做
谢谢。可能有更好的方法,但是 创建测试数据帧 打印数据帧 打印第0行 将第0行打印为列表 获取每一项
set
是无序的,因此index
集合不是有序对象没有意义,因此按顺序对它们进行索引没有意义。不能保证在集合中放置三个项目会导致它们以相同的顺序显示。如果您只需要元素,您可以将其转换为列表并索引为该列表,但请注意顺序可能会发生变化。此时,排序并不重要,只需尝试将集合中的值减少为1项。如果是列表,则可以使用df['Array'].str[1]
对于第二个索引排序在这一点上并不重要
,那么您如何定义第二个索引。在集合中没有第二索引
,
假设在我的计算机中集合是{878858999}
,那么结果将是8788599
。
df['Array'].values[0]
>> {878,999,858}
>>> import pandas as pd
>>> df = pd.DataFrame({"A": [{878,999,858}]})
>>> df
A
0 {858, 878, 999}
>>> df.loc[0]["A"]
{858, 878, 999}
>>> list(df.loc[0]["A"])
[858, 878, 999]
>>> list(df.loc[0]["A"])[0]
858
>>> list(df.loc[0]["A"])[1]
878
>>> list(df.loc[0]["A"])[2]
999