我有以下问题:
如果我选择了我的Pandas DataFrame的一些索引:
df = pd.DataFrame(data=CoordArray[0:,1:],index=CoordArray[:,0],columns=["x","y","z"])
如下所示:
print(df.loc[['1234567','7654321'],:])
它工作得很好。
但如果我将这些数据放在numpy数组中,将此数组转换为列表,并执行以下操作:
mynewlist = list(SomeNumpyArray)
print(df.loc[mynewlist])
我得到了以下问题:
"None of [[1234567, 7654321]] are in the [index]"
我真的不知道哪里出了问题。
发布于 2018-02-27 00:46:29
我还没能复制你的问题。正如@Wen评论的那样,你的list和numpy数组可能有不同的类型。
下面是一个示例,演示了列表或numpy数组可以用作索引器:
import pandas as pd, numpy as np
df = pd.DataFrame(data=[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]],
index=['1000', '2000', '3000', '4000'],
columns= ['x', 'y', 'z'])
idx = np.array(['2000', '3000'])
df.loc[idx]
# x y z
# 2000 4 5 6
# 3000 7 8 9
lst = list(idx)
df.loc[idx_lst]
# x y z
# 2000 4 5 6
# 3000 7 8 9
https://stackoverflow.com/questions/48992913
复制相似问题