簡體   English   中英

熊貓:復制df並填充新值的最佳方法

[英]Pandas: best way to replicate df and fill with new values

假設我有df1:

dates = pd.date_range('20170101',periods=20)
df1 = pd.DataFrame(np.random.randint(10,size=(20,3)),index=dates,columns=['foo','bar','see'])

我想創建具有相同形狀,索引和列的df2。 我經常發現自己在做這樣的事情:

df2= pd.DataFrame(np.ones(shape(df1),index = df1.index,columns =df1.columns)

這不理想。 pythonic的方式是什么?

這個怎么樣:

df2 = df1.copy()
df2[:] = 1 # Or any other value, for the matter

如果您只想保留形狀和行/列標題,則甚至不需要最后一行。

您還可以使用dataframe方法“ where”,該方法將允許您根據條件保留數據並保留原始df的形狀/索引。

dates = pd.date_range('20170101',periods=20)
df1 = pd.DataFrame(np.random.randint(10,size=(20,3)),index=dates,columns=['foo','bar','see'])

df2= df1.where(df1['foo'] % 2 == 0, 9999)

df2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM