将索引列分配给空pandas数据帧

时间:2017-04-07 01:28:23

标签: pandas dataframe

我正在创建一个空数据框,然后我想一次将数据添加到一行。我想在第一列'customer_ID'

上编制索引

我有这个:

In[1]: df = pd.DataFrame(columns = ['customer_ID','a','b','c'],index=['customer_ID'])
In[2]: df
Out[3]: 
            customer_ID    a    b    c
customer_ID         NaN  NaN  NaN  NaN

所以我不想要一排NaN。 我可以将索引指向第一列而不添加一行数据吗?

3 个答案:

答案 0 :(得分:1)

我认为,正如@JD Long暗示的那样,答案是将索引设置为单独的指令:

In[1]: df = pd.DataFrame(columns = ['customer_ID','a','b','c'])
In[2]: df.set_index('customer_ID',inplace = True)
In[3]: df
Out[3]: 
Empty DataFrame
Columns: [customer_ID, a, b, c]
Index: []

然后我可以添加行:

In[4]: id='x123'
In[5]: df.loc[id]=[id,4,5,6]
In[6]: df
Out[7]: 
 customer_ID    a    b    c
x123        x123  4.0  5.0  6.0

答案 1 :(得分:0)

是的......如果你这么倾向,你可以随时dropna

df = df.set_index('customer_ID').dropna()
df

答案 2 :(得分:0)

因为您在创建数据框时没有任何行。

df= pd.DataFrame({'customer_ID': ['2'],'a': ['1'],'b': ['A'],'c': ['1']})
df.set_index('customer_ID',drop=False)
df