我有一个数据框,并想使用iloc [:,0]将第一列设置为索引,但是出了点问题。
我应用iloc [:,0]将第一列设置为索引。
data12 = pd.DataFrame({"b":["a","h","r","e","a"],
"a":range(5)})
data2 = data12.set_index(data12.iloc[:,0])
data2
b a
b
a a 0
h h 1
r r 2
e e 3
a a 4
我想得到以下结果。
a
b
a 0
h 1
r 2
e 3
a 4
非常感谢你
最佳答案
使用系列的名称,而不是系列本身。
data12.set_index(data12.iloc[:, 0].name) # or data12.columns[0]
a
b
a 0
h 1
r 2
e 3
a 4
从
set_index
的文档中keys
此参数可以是单个列键,长度与调用DataFrame相同的单个数组,也可以是包含列键和数组的任意组合的列表。在此,“数组”包含Series,Index和np.ndarray。如果要设置索引并且不再将各个Series包含在DataFrame的列中,则需要传递
key
,而不是array
。关于python - 如何使用iloc [:,0]将第一列设置为索引,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56448831/