为什么我可以在Pandas中添加单个行/列元素,而不能使用行或列列表进行添加



当现在将数据添加到数据帧时,如何在单行和单列中添加数据:

df.loc[len(df),NewCol] = NewData

但是以下内容不适用于在多个列中添加?

df.loc[len(df),[NewCol,NewCol2,NewCol3]] = [NewData1,NewData2,NewData3]

这对添加多个数据无效

df.loc[[len(df),len(df)+1,len(df)+2],NewCol] = [NewColData1, NewColData2,NewColData3]

如果要添加多列,请使用assign。

import datetime as dt
d = list(pd.date_range(dt.datetime(2020,7,1), dt.datetime(2020,7,2), freq="15min"))
df = pd.DataFrame({"Date":d, 
"Scaled":[round(Decimal(random.uniform(0, 1)),6) for x in d]})
df.assign(c1=[round(Decimal(random.uniform(0, 1)),6) for x in d],
c2=[round(Decimal(random.uniform(0, 1)),6) for x in d])
df.assign(**{f"c{i}":[round(Decimal(random.uniform(0, 1)),6) for x in d] for i in range(5)})

最新更新