junkdf動作していない:。パンダ日時スライシング:junkdf.ix [ '2015年8月3日' '2015年8月6日']
rev
dtime
2015-08-03 20.45
2015-08-04 -2.57
2015-08-05 12.53
2015-08-06 -8.16
2015-08-07 -4.41
junkdf.reset_indexを()to_dict(」 REC ')私は、任意の日時・スライシングで説明したように行うことができないのはなぜ
[{'dtime': datetime.date(2015, 8, 3), 'rev': 20.45},
{'dtime': datetime.date(2015, 8, 4), 'rev': -2.5699999999999994},
{'dtime': datetime.date(2015, 8, 5), 'rev': 12.53},
{'dtime': datetime.date(2015, 8, 6), 'rev': -8.16},
{'dtime': datetime.date(2015, 8, 7), 'rev': -4.41}]
junkdf.set_index('dtime',inplace=True)
:
python-pandas-dataframe-slicing-by-date-conditions
junkdf [ '2015年8月3日':]
C:\Users\blah\Anaconda3\lib\site-packages\pandas\core\base.py in searchsorted(self, key, side, sorter)
1112 def searchsorted(self, key, side='left', sorter=None):
1113 # needs coercion on the key (DatetimeIndex does already)
-> 1114 return self.values.searchsorted(key, side=side, sorter=sorter)
1115
1116 _shared_docs['drop_duplicates'] = (
TypeError: unorderable types: datetime.date() > str()
junkdf.ix [ '2015年8月3日' '2015年8月6日'] (dt.datetime(2015、8、4))junkdf.index.searchsorted
C:\Users\blah\Anaconda3\lib\site-packages\pandas\core\base.py in searchsorted(self, key, side, sorter)
1112 def searchsorted(self, key, side='left', sorter=None):
1113 # needs coercion on the key (DatetimeIndex does already)
-> 1114 return self.values.searchsorted(key, side=side, sorter=sorter)
1115
1116 _shared_docs['drop_duplicates'] = (
TypeError: unorderable types: datetime.date() > str()
開始=
start = junkdf.index.searchsorted(dt.date(2015, 8, 4))
end = junkdf.index.searchsorted(dt.date(2015, 8, 6))
junkdf.ix[start:end]
rev
dtime
2015-08-04 -2.57
2015-08-05 12.53
UPDATE:
dtime rev
0 2015-08-03 07:59:59 -0.18
1 2015-08-03 08:59:59 -0.11
2 2015-08-03 09:59:59 -0.29
3 2015-08-03 10:59:59 -0.08
4 2015-08-03 11:59:59 0.69
:df[['dtime','rev']]
がどのように見える junkdf = df[['dtime','rev']].groupby((df.dtime).dt.date).sum().copy()
C:\Users\blah\Anaconda3\lib\site-packages\pandas\core\base.py in searchsorted(self, key, side, sorter)
1112 def searchsorted(self, key, side='left', sorter=None):
1113 # needs coercion on the key (DatetimeIndex does already)
-> 1114 return self.values.searchsorted(key, side=side, sorter=sorter)
1115
1116 _shared_docs['drop_duplicates'] = (
TypeError: can't compare datetime.datetime to datetime.date))
ただし、次の作品は私がdt.date()を使用している場合
アップデート2:
私が試した:
df[['dtime','rev']].head()
dtime rev
0 2015-08-03 07:59:59 -0.18
1 2015-08-03 08:59:59 -0.11
2 2015-08-03 09:59:59 -0.29
3 2015-08-03 10:59:59 -0.08
4 2015-08-03 11:59:59 0.69
df[['dtime','rev']].groupby(pd.TimeGrouper('D', key=df.dtime)).sum()
C:\Users\blah\Anaconda3\lib\site-packages\pandas\core\generic.py in __hash__(self)
804 def __hash__(self):
805 raise TypeError('{0!r} objects are mutable, thus they cannot be'
--> 806 ' hashed'.format(self.__class__.__name__))
807
808 def __iter__(self):
TypeError: 'Series' objects are mutable, thus they cannot be hashed
それは私のために正常に動作します。 print(junkdf.index.dtype)の出力は何ですか? – MaxU
print(junkdf.index.dtype)=オブジェクト – codingknob
インデックスは文字列dtypeです。最初にdatetime – MaxU