python切片區間 熊貓資料幀中區間的高階切片

2021-10-18 14:54:16 字數 1822 閱讀 7633

你在找pivot。。。至少在提取出感興趣的行之後。在

在同一日期的,使用^{}和^{}:in [11]: res = df.loc[df.index.normalize().isin(df2.index), 'b']

in [12]: res

out[12]:

2005-09-06 16:00:00 5

2005-09-06 18:00:00 6

2005-09-06 20:00:00 7

2005-09-06 22:00:00 8

2005-12-07 16:00:00 8

2005-12-07 18:00:00 6

2005-12-07 20:00:00 4

2005-12-07 22:00:00 2

name: b, dtype: int64

一旦它以這種形式被轉移(如果有可能丟失資料,您可能必須使用^{}這是乙個更靈活的)!在

^$使用isin的行選擇的「肉」,檢查標準化為午夜的時間是否包含在df2.index中。在df.index.normalize().isin(df2.index)

如果我們還關心時間,我們可以使用^{}:in [15]: df.ix[df.index.indexer_between_time('18:00', '00:00'), 'b']

out[15]:

2005-09-06 18:00:00 6

2005-09-06 20:00:00 7

2005-09-06 22:00:00 8

2005-12-07 18:00:00 6

2005-12-07 20:00:00 4

2005-12-07 22:00:00 2

name: b, dtype: int64

好的,在這個例子中這些是相同的(因為只有我們想要的日期!),但一般來說,你真的希望這兩個條件(和他們)。。。在# i had tried to make this a one-liner but utterly failed!

in_time = np.zeros(len(df), dtype=bool)

in_time[df.index.indexer_between_time('18:00', '00:00')] = true

res = df.loc[df.index.normalize().isin(df2.index) & in_time, 'b']

in [17]: res

out[17]:

2005-09-06 16:00:00 5

2005-09-06 18:00:00 6

2005-09-06 20:00:00 7

2005-09-06 22:00:00 8

2005-12-07 16:00:00 8

2005-12-07 18:00:00 6

name: b, dtype: int64

可以對映透視結果的列:in [21]: pv = pd.pivot(res.index.time, res.index.normalize(), res.values)

in [22]: pv

out[22]:

2005-09-06 2005-12-07

18:00:00 6 6

20:00:00 7 4

22:00:00 8 2

in [23]: pv.columns = pv.columns.map(df2.num.get)

in [24]: pv

out[24]:

1 218:00:00 6 6

20:00:00 7 4

22:00:00 8 2

瞧。

python資料幀 Python資料幀

我有乙個dataframe df 並試圖將資料附加到特定的行 index fruit rank 0 banana 1 2 mango 3 3 melon 4 目標是將排名1的水果與每個等級進行比較,然後附加值。我在用difflib.sequencematcher做比較。現在我可以追加到df,但最後我...

python資料幀 Python資料幀行和列

我是乙個新的python建模者,目前在一行 中遇到了一些問題,這些 可能對很多人來說非常基礎。在 我使用的是python2.7,並成功地使用xlwings將乙個命名範圍從外部工作簿複製到pd資料幀格式。一切都很好除了測向索引以及資料框列.目前,將1分配給n 基於行數和列數 數字作為索引和列名。在 有...

python中DataFrame資料幀的統計方法

我們把每乙個column作為乙個樣本資料集,就可以對其進行一些統計學方法的計算,比如求和sum 求平均mean 求方差var 求標準差std 求個數count 求最大值max 求最小值min,等操作。我們用以下 來進行演示 import pandas as pd dict data df data ...