我正在创建一个空数据框,然后我想一次将数据添加到一行。我想在第一列'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
。
我可以将索引指向第一列而不添加一行数据吗?
答案 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