如何使用元组列表中的索引创建 pandas DataFrame

use*_*896 7 dataframe python-2.7 pandas

使用记录索引创建 pandas DataFrame 的最佳方法是什么。这是我的样本:

sales = [('Jones LLC', 150, 200, 50),
     ('Alpha Co', 200, 210, 90),
     ('Blue Inc', 140, 215, 95)]
labels = ['account', 'Jan', 'Feb', 'Mar']
df = pd.DataFrame.from_records(sales, columns=labels)
Run Code Online (Sandbox Code Playgroud)

我需要“帐户”作为此处的索引(而不是列)谢谢

jez*_*ael 9

最简单的是set_index

df = pd.DataFrame.from_records(sales, columns=labels).set_index('account')
print (df)
           Jan  Feb  Mar
account                 
Jones LLC  150  200   50
Alpha Co   200  210   90
Blue Inc   140  215   95
Run Code Online (Sandbox Code Playgroud)

或者通过列表理解进行选择:

labels = [ 'Jan', 'Feb', 'Mar']
idx = [x[0] for x in sales]
data = [x[1:] for x in sales]

df = pd.DataFrame.from_records(data, columns=labels, index=idx)
print (df)
           Jan  Feb  Mar
Jones LLC  150  200   50
Alpha Co   200  210   90
Blue Inc   140  215   95
Run Code Online (Sandbox Code Playgroud)