簡體   English   中英

從Pandas數據框中的某一行獲取某些列值,然后將其添加到另一數據框中

[英]Taking certain column values from one row in a Pandas Dataframe and adding them into another dataframe

我想將某些列值從數據幀df的特定行復制到另一個名為bestdf數據幀中

在這里,我創建一個空的數據bestdf (稱為bestdf ):

new_columns = ['DATE', 'PRICE1', 'PRICE2']
bestdf = pd.DataFrame(columns = new_columns)
bestdf.set_index(['DATE'])

我已經在df找到了某行,並將該行分配給了變量last_time

last_time = df.iloc[-1]
print last_time

給我

                  DATETIME     PRC
2016-10-03 00:07:39.295000  335.82

然后,我想從DATETIME列中獲取2016-10-03 ,並將其放入其他數據bestdfbestdf )的DATE列中。 我還想將PRC放入我的空白數據PRICE1列中。 我希望bestdf看起來像這樣:

                      DATE  PRICE1  PRICE2
                2016-10-03  335.82

這是到目前為止我得到的?

sample_date = str(last_time).split()
best_price = sample_date[2]
sample_date = sample_date[0]

bestdf['DATE'] = sample_date
bestdf['PRICE1'] = best_price

不過,這似乎不起作用。 僅供參考,我也想將其放入一個循環(其中last_time將被修改,並且每次將新值寫入新行時)。 我只是在嘗試使功能正確。

請幫忙!

謝謝

有多種方法可以做您要做的事情:另外,您可以將問題分解為多個部分。 這樣,您將能夠應用不同的步驟來解決它們。

這是一個例子:

import pandas as pd
from datetime import datetime

data = [{'DATETIME': '2016-10-03 00:07:39.295000', 'PRC': 335.29},
        {'DATETIME': '2016-10-03 00:07:39.295000', 'PRC': 33.9},
        {'DATETIME': '2016-10-03 00:07:39.295000', 'PRC': 10.9}]

df = pd.DataFrame.from_dict(data, orient='columns')

df

輸出:

    DATETIME                    PRC
0   2016-10-03 00:07:39.295000  335.29
1   2016-10-03 00:07:39.295000  33.90
2   2016-10-03 00:07:39.295000  10.90

代碼繼續:

bestdf = df[df['PRC'] > 15].copy()
# we filter data from original df and make a copy
bestdf.columns = ['DATE','PRICE1']
# we change columns as we need
bestdf['PRICE2'] = None
bestdf

輸出:

    DATE                        PRICE1  PRICE2
0   2016-10-03 00:07:39.295000  335.29  None
1   2016-10-03 00:07:39.295000  33.90   None

代碼繼續:

bestdf['DATE'] = bestdf['DATE'].apply(lambda value: value.split(' ')[0])
# we change column format based on how we need it to be
bestdf

輸出:

    DATE    PRICE1  PRICE2
0   2016-10-03  335.29  None
1   2016-10-03  33.90   None

我們也可以對datetime對象做同樣的事情。 不必一定是字符串。

暫無
暫無

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

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