做的时候:
import pandas
x = pandas.read_csv('data.csv', parse_dates=True, index_col='DateTime',
names=['DateTime', 'X'], header=None, sep=';')
Run Code Online (Sandbox Code Playgroud)
用这个data.csv文件:
1449054136.83;15.31
1449054137.43;16.19
1449054138.04;19.22
1449054138.65;15.12
1449054139.25;13.12
Run Code Online (Sandbox Code Playgroud)
(第一列是UNIX时间戳,即自1970年1月1日起经过的秒数),每15秒重新采样数据时出现此错误x.resample('15S'):
TypeError: Only valid with DatetimeIndex, TimedeltaIndex or PeriodIndex
Run Code Online (Sandbox Code Playgroud)
这就像尚未解析的"日期时间"信息:
X
DateTime
1.449054e+09 15.31
1.449054e+09 16.19
...
Run Code Online (Sandbox Code Playgroud)
如何使用pandas模块导入日期存储为时间戳的.CSV?
然后,一旦我能够导入CSV,如何访问日期> 2015-12-02 12:02:18的行?
我目前有一个pandas.DataFrame,其中有一个pandas.DatetimeIndex和一组值。
我想从此排除给定的所有日期。pandas.date_rangepandas.DataFrame
示例代码:
dates = pd.date_range(start='04/01/2012', end='04/01/2019', freq='MS')
df = pd.DataFrame(data=[100]*len(dates),index=dates,columns=["val"])
exclusion_dates = pd.date_range(start='04/01/2012', end='04/01/2019', freq=pd.offsets.DateOffset(months=12))
Run Code Online (Sandbox Code Playgroud)
我的尝试:
df.loc[~exclusion_dates,:]
Run Code Online (Sandbox Code Playgroud)
理想情况下,这将导致df包含除1st April YYYY
但是,这会导致以下错误:
类型错误:一元 ~ 的操作数类型错误:“DatetimeIndex”
我查看了下面的线程,但是找不到任何内容: Filtering Pandas DataFrames on date
我有 DataFrame,其中有一列带有事件日期(日期不是唯一的)。我需要选择此期间的所有数据。我接下来尝试:
start_day = datetime.date(datetime.strptime(start_day, '%d.%m.%Y')) #change user data to date format
end_day = datetime.date(datetime.strptime(end_day, '%d.%m.%Y'))
df = df[df['Transaction_date'].between(start_day, end_day)]
Run Code Online (Sandbox Code Playgroud)
列的类型Transaction_date是datetime64[ns]。当我运行请求时间01/01/2020为 to的代码时31/01/2020- 指定时间段的部分数据丢失(信息仅显示 21 天,应该是 31 天)。
我看到数据帧包含整个请求期间的数据。你能帮我吗,我的错误在哪里?
我正在尝试根据日期将数据框分成两个。这已经解决了这里的一个相关问题:Split dataframe into two based on date
我的数据框如下所示:
abcde col_b
2008-04-10 0.041913 0.227050
2008-04-11 0.041372 0.228116
2008-04-12 0.040835 0.229199
2008-04-13 0.040300 0.230301
2008-04-14 0.039770 0.231421
Run Code Online (Sandbox Code Playgroud)
我如何根据日期拆分它(比如 2008-04-12 之前和之后)?当我尝试这个时:
df.loc[pd.to_datetime(df.index) <= split_date]
Run Code Online (Sandbox Code Playgroud)
这里split_date是datetime.date(2008-04-12),我得到这个错误:
*** TypeError: <class 'datetime.date'> type object 2008-04-12
Run Code Online (Sandbox Code Playgroud) 我有一个 Pandas 数据框“df”,其中包含一个 datetime.time 类型的“DateTimes”列。
该列的条目是一天的小时数:
00:00:00
.
.
.
23:59:00
Run Code Online (Sandbox Code Playgroud)
秒被跳过,它按分钟计数。
如何按小时选择行,例如 00:00:00 和 00:01:00 之间的行?
如果我试试这个:
df.between_time('00:00:00', '00:00:10')
Run Code Online (Sandbox Code Playgroud)
我收到一个错误,即索引必须是 DateTimeIndex。
我将索引设置为:
df=df.set_index(keys='DateTime')
Run Code Online (Sandbox Code Playgroud)
但我得到了同样的错误。
我似乎也无法让 'loc' 工作。有什么建议?
所以我有一个大型的pandas DataFrame,它包含大约两个月的信息,每秒有一行信息.方法太多,无法立即处理,所以我想抓住具体的时间表.以下代码将在2012年2月5日之前获取所有内容:
sunflower[sunflower['time'] < '2012-02-05']
Run Code Online (Sandbox Code Playgroud)
我想做相当于这个:
sunflower['2012-02-01' < sunflower['time'] < '2012-02-05']
Run Code Online (Sandbox Code Playgroud)
但这是不允许的.现在我可以用这两行来做到这一点:
step1 = sunflower[sunflower['time'] < '2012-02-05']
data = step1[step1['time'] > '2012-02-01']
Run Code Online (Sandbox Code Playgroud)
但是我必须使用20个不同的DataFrame进行多次,并且能够轻松地做到这一点会很好.我知道pandas是有能力的,因为如果我的日期是索引而不是列,那很容易做到,但它们不能成为索引,因为日期会重复,因此您会收到此错误:
Exception: Reindexing only valid with uniquely valued Index objects
Run Code Online (Sandbox Code Playgroud)
那我该怎么做呢?
因此,在我将毫秒添加到日期/时间字段之前,我的所有数据都在处理我的数据。
selected = selected['2017-02-20 16:10:05':'2017-02-20 16:20:06']是我过滤数据框的语句**
以下数据在毫秒为 0000 时有效
正确填充毫秒时出现以下数据错误
更新:我试过了
selected.sort_index()
selected.ix['2017-02-20 16:10:05':'2017-02-20 16:20:06']
selected.ix[datetime.date(year=2017,month=2,day=20):datetime.date(year=2017,month=2,day=21)]
Run Code Online (Sandbox Code Playgroud)
类型错误:“str”和“datetime.date”的实例之间不支持“>”
然后我得到以下
ValueError Traceback (most recent call last)
/usr/local/lib/python3.6/site-packages/pandas/indexes/base.py in get_slice_bound(self, label, side, kind)
3121 try:
-> 3122 return self._searchsorted_monotonic(label, side)
3123 except ValueError:
/usr/local/lib/python3.6/site-packages/pandas/indexes/base.py in _searchsorted_monotonic(self, label, side)
3087
-> 3088 raise ValueError('index must be monotonic increasing or decreasing')
3089
ValueError: index must be monotonic increasing or decreasing
During handling of the above exception, another exception occurred:
KeyError Traceback (most recent …Run Code Online (Sandbox Code Playgroud)