簡體   English   中英

如何將數據幀的 5 列合並為新數據幀的一長列?

[英]How to merge 5 columns of a dataframe into one long column of new dataframe?

我有一個數據BaseResult ,其中包含 41 年的每日溫度數據(41 行 x 365 列),其中行代表年,列代表天。 我想將每天居中的每 5 列合並為一個長列,以便我有一個新的數據RollingPercentile ,即(200 行 x 365 列)。 這里 Jan 03 的列將包含 Jan 01-05 的數據,Jan 04 的列將包含 Jan 02-06 的數據等。到目前為止,我只能水平合並列,即一列中的 3 個值一列更長的列,數據是 3 倍。

source_col_loc=BaseResult.columns.get_loc('01-01')
BaseResult['01-01']=BaseResult.iloc[:,source_col_loc+1:source_col_loc+4].apply(
    lambda x: ",".join(x.astype(str)),axis=1)

我怎樣才能做到這一點,以便它們垂直合並,以便我可以遍歷整個數據框? 我的最終目標是通過執行Percentile90=RollingPercentile.percentile(0.9)計算包含以索引日為中心的 5 天數據的每列的第 90 個百分位數,以便最終得到 365 個值的數組。

使用 Windows 執行計算

滾動百分位數聚合多行數據以獲取值。

df.rolling(window=window, min_periods=min_periods).quantile(perc)

df.rolling(window=window, min_periods=min_periods).mean()

df.rolling(window=window, min_periods=min_periods).std()

df1.rolling(window=window, min_periods=min_periods).apply(lambda x: 
stats.linregress(x, df2), raw=False)

這些是您可以應用的一些窗口和滾動聚合類型

暫無
暫無

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

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