如何将Google工作表的行导入Pandas,但要使用列名?

如何将Google工作表的行导入Pandas,但要使用列名?,pandas,gspread,Pandas,Gspread,在许多地方都有很好的说明,可以使用gspread将谷歌工作表导入熊猫数据框,例如: # Open our new sheet and read some data. worksheet = gc.open_by_key('...').sheet1 # get_all_values gives a list of rows. rows = worksheet.get_all_values() # Convert to a DataFrame and render. import pandas

在许多地方都有很好的说明,可以使用gspread将谷歌工作表导入熊猫数据框,例如:

# Open our new sheet and read some data.
worksheet = gc.open_by_key('...').sheet1

# get_all_values gives a list of rows.
rows = worksheet.get_all_values()

# Convert to a DataFrame and render.
import pandas as pd
df = pd.DataFrame.from_records(rows)
df.head()
问题是,此导入将第一行视为值,而不是标题

如何导入数据帧并将第一行视为列名而不是值?

您可以这样做

row=[[1,2,3,4]]*3
pd.DataFrame.from_records(row[1:],columns=row[0])
   1  2  3  4
0  1  2  3  4
1  1  2  3  4

这是可行的,但是当我使用
mydf=df.reindex(np.random.permutation(mydf.index))
将数据随机化时,列名就会丢失。通过read_csv()导入的数据不会出现这种情况。给出了什么?@emmby我不确定这是否导致了问题
mydf=df.reindex(np.random.permutation(mydf.index))
这里应该
mydf.reindex
不是
df.reindex
对吗?我刚刚想出了同样的问题,谢谢你的帮助@还有,如果你想要排列,我想我们可以做
df.sample(len(df))