在以下数据框中,我可以使用列表访问两列:
df = pd.DataFrame(np.random.randn(4,4), index=[0,.5,1.,1.5], columns=['10', '20', '30', '40'])
df[['10','20']]
10 20
0.0 1.048499 0.339459
0.5 -0.802472 1.348099
1.0 0.552306 -2.117145
1.5 1.737839 1.062061
当列名是数字(在这种情况下为整数)时,相同的切片会返回错误
df = pd.DataFrame(np.random.randn(4,4), index=[0,.5,1.,1.5], columns=[10, 20, 30, 40])
df[[10,20]]
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
当列名是数字而不是字符串时,如何获得相同的结果?
有关此的任何提示吗?
答案 0 :(得分:0)
你确定整数没有转换为字符吗?
尝试:
df = pd.DataFrame(np.random.randn(4,4), index=[0,.5,1.,1.5], columns=[10, 20, 30, 40])
df[["10","20"]]
或:
DF [[1,2]]