[英]Python dataframe row and column
我是一個newB python建模器,目前遇到一些代碼問題,對很多人來說可能是非常基本的。
我正在使用python 2.7並已成功使用xlwings將命名范圍從外部工作簿復制到pd.dataframe格式。 除了df.index和df.columns之外,一切正常。 目前,代碼將1到n(基於行數和列數)分配為索引和列名稱。
有沒有辦法,我使用導入數據的第一列值作為df.index,第一行使用df.column?
有人可以幫助我得到這樣的東西:
df = pd.DataFrame(myExcelRange, df.index = 'first column values', df.columns = 'first row values')
myExcelRange的形狀和名稱每次都可能不同。
任何指南將不勝感激。
例:
> myExcelRange
ITEM Dan Jane Fan
A 77 78 40
B 89 53 72
C 20 19 79
D 81 54 93
E 77 76 99
熊貓正在回歸
0 1 2 3
0 ITEM Dan Jane Fan
1 77 78 40 0
2 89 53 72 0
3 20 19 79 0
4 81 54 93 0
5 77 76 99 0
期望
ITEM Dan Jane Fan
A 76 89 100
B 59 72 24
C 69 73 19
D 70 92 43
E 65 94 30
您可以使用第一列set_index
然后按iloc
選擇第一行並分配給df.columns
,最后也可以通過iloc
從數據中刪除第一行:
myExcelRange = [['a','b','c'],['d','e','f'],['g','h','i']]
df = pd.DataFrame(myExcelRange)
print (df)
0 1 2
0 a b c
1 d e f
2 g h i
df = df.set_index(0)
df.columns = df.iloc[0,:]
#for nicer df remove index and column names
df.index.name = None
df.columns.name = None
print (df.iloc[1:,:])
b c
d e f
g h i
正如Alex Fung所提到的,也許可以使用帶參數index_col
read_excel
:
df = pd.read_excel('file.xlsx', index_col=0)
print (df)
Dan Jane Fan
ITEM
A 77 78 40
B 89 53 72
C 20 19 79
D 81 54 93
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.