我有一個循環結構在一個類中從另一個類中的數據幀中檢索行。行被逐一檢索,這意味着它們以系列形式返回。然後,我在該系列上執行多個操作,然後使用更改更新原始數據幀行。有時得到一個返回的數據框而不是一個系列
所有這些工作正常99%的時間,但在非常罕見的場合,而不是讓一個系列返回給我我得到一個數據幀。這對我來說沒有意義,因爲沒有重複的東西,所以我應該每次都有一個系列回到我身邊。這基本上是什麼即時通訊做:
class XYZ:
state_df = #create dataframe and populate it
def __init__(self):
pass
def get_state(self, rowname):
return self.state_df.loc[rowname].copy()
def update_state(self, new_symbol_state):
self.state_df.loc[new_symbol_state.name] = new_symbol_state
class ABC:
def __init__(self):
pass
def process():
xyz = MyClass.XYZ()
state_series = xyz.get_state(rowname)
# do stuff with the dataframe row which should be a series
# ie: state_series. Then update the original dataframe row
xyz.update_state(state_series)
所以就像我說的,我得到一個系列退給我99%的時間,我就可以執行一些操作,然後我送它回到原來的數據幀和所有很好。然而,我現在一次又一次得到一個數據框,而不是一個沒有意義的系列。即使我打印出數據幀,它也會顯示它只有一行(即:不重複),因此它應該是一個Series?
我需要一種方法來確保在撥打state_series = xyz.get_state(rowname)
時,我總是得到一個系列給我。有沒有辦法確保我總能得到一系列回饋給我的東西?或者至少如果我得到一個數據幀返回給我只有1行,那麼我如何將它更改爲一個系列。
謝謝。我還沒有弄清楚問題出在哪裏。但你的建議可能是正確的,...我只需要弄清楚這是怎麼發生的。 – darkpool