2017-08-25 75 views
-1

我有这个dataseries找到一个DataSeries与熊猫图案

df = pd.DataFrame({'Values': [0, 1, 2, 3, 4]}, 
        index = [pd.Timestamp('20130101 09:00:00'), 
          pd.Timestamp('20130101 09:00:02'), 
          pd.Timestamp('20130101 09:00:03'), 
          pd.Timestamp('20130101 09:00:05'), 
          pd.Timestamp('20130101 09:00:06')]) 

我在dataseries找到这种模式

pattern = [1,2,3] 

所以,它必须回到我(例如):

20130101 09:00:02 1 
20130101 09:00:03 2 
20130101 09:00:05 3 

我正在尝试使用熊猫,任何人都可以帮助我吗?

+1

你可以证明*任何*努力解决这个问题吗? –

+1

“找到模式”的含义并不完全清楚。例如'df.iloc [pattern] ['Values']'会返回你正在寻找的答案,但我猜这不是你想要做的。你能否提供更多关于如何识别模式的信息? – johnchase

+0

[在熊猫数据框中查找特定模式]的可能的副本(https://stackoverflow.com/questions/44967805/find-particular-pattern-in-a-pandas-dataframe) – vestland

回答

2

希望这有助于!

import pandas as pd 
df = pd.DataFrame({'Values': [0, 1, 2, 3, 4]}, 
        index = [pd.Timestamp('20130101 09:00:00'), 
          pd.Timestamp('20130101 09:00:02'), 
          pd.Timestamp('20130101 09:00:03'), 
          pd.Timestamp('20130101 09:00:05'), 
          pd.Timestamp('20130101 09:00:06')]) 
pattern = [1,2,3] 
print df.iloc[[int(df.index.get_indexer_for((df[df.Values==i].index))) for i in pattern]] 
+0

它返回了我“无效的sintax” – brunoelyg

+0

你能分享确切的错误信息? (它运行良好与python 2.7) – Prem

+0

SyntaxError:无效的语法 – brunoelyg