当我读取CSV时,我可以说pd.read_csv('my.csv', index_col=3)
并将第三列设为索引。
如果内存中有pandas数据帧,我该如何做同样的事情?我怎么能说第一行也作为索引呢?第一列和第一行是字符串,矩阵的其余部分是整数。
答案 0 :(得分:6)
也许尝试set_index()?
df = df.set_index([2])
答案 1 :(得分:2)
按照详细程度从高到低的顺序将第一列(或第n列)作为索引:
df.set_index(list(df)[0])
df.set_index(df.columns[0])
df.set_index(df.columns.tolist()[0])
使第一行(或第n行)成为索引:
df.set_index(df.iloc[0].values)
如果要使用多级索引,可以同时使用两者:
df.set_index([df.iloc[0], df.columns[0]])
观察到,使用列作为索引会自动将其删除为列。将行用作索引只是复制操作,不会从DataFrame中删除该行。
答案 2 :(得分:2)
无论行数如何,您都可以尝试
df = pd.read_csv('data.csv',index_col = 0)
答案 3 :(得分:-1)
要将第一列设置为索引,您可以尝试:
x2csv <- rbindlist(lapply(files, fread, stringsAsFactors = FALSE), fill = TRUE, idcol = TRUE )