相关疑难解决方法(0)

在日期过滤Pandas DataFrames

我有一个带有"日期"列的Pandas DataFrame.现在我需要过滤掉DataFrame中具有接下来两个月之外的日期的所有行.基本上,我只需要保留未来两个月内的行.

实现这一目标的最佳方法是什么?

python datetime filtering dataframe pandas

117
推荐指数
13
解决办法
23万
查看次数

pandas read_csv中的datetime dtypes

我正在阅读带有多个日期时间列的csv文件.我需要在读取文件时设置数据类型,但是日期时间似乎是个问题.例如:

headers = ['col1', 'col2', 'col3', 'col4']
dtypes = ['datetime', 'datetime', 'str', 'float']
pd.read_csv(file, sep='\t', header=None, names=headers, dtype=dtypes)
Run Code Online (Sandbox Code Playgroud)

运行时出错:

TypeError:数据类型"datetime"未被理解

事后转换列,通过pandas.to_datetime()不是一个选项,我不知道哪些列将是datetime对象.该信息可以改变,并来自我的dtypes列表中的任何信息.

或者,我尝试使用numpy.genfromtxt加载csv文件,在该函数中设置dtypes,然后转换为pandas.dataframe但它会使数据变得混乱.任何帮助是极大的赞赏!

python csv datetime dataframe pandas

101
推荐指数
6
解决办法
15万
查看次数

用于解析pandas中POSIX时间戳的惯用法?

我有一个csv文件,其时间列表示POSIX时间戳,以毫秒为单位.当我在pandas中读取它时,它正确地将其读作Int64,但我想将其转换为DatetimeIndex.现在我首先将其转换为datetime对象,然后将其转换为DatetimeIndex.

In [20]: df.time.head()

Out[20]: 
0    1283346000062
1    1283346000062
2    1283346000062
3    1283346000062
4    1283346000300
Name: time

In [21]: map(datetime.fromtimestamp, df.time.head()/1000.)
Out[21]: 
[datetime.datetime(2010, 9, 1, 9, 0, 0, 62000),
 datetime.datetime(2010, 9, 1, 9, 0, 0, 62000),
 datetime.datetime(2010, 9, 1, 9, 0, 0, 62000),
 datetime.datetime(2010, 9, 1, 9, 0, 0, 62000),
 datetime.datetime(2010, 9, 1, 9, 0, 0, 300000)]

In [22]: pandas.DatetimeIndex(map(datetime.fromtimestamp, df.time.head()/1000.))
Out[22]: 
<class 'pandas.tseries.index.DatetimeIndex'>
[2010-09-01 09:00:00.062000, ..., 2010-09-01 09:00:00.300000]
Length: 5, Freq: None, Timezone: None
Run Code Online (Sandbox Code Playgroud)

有这样一种惯用的方式吗?更重要的是,这是在熊猫中存储非唯一时间图的推荐方法吗?

python numpy pandas

7
推荐指数
2
解决办法
2983
查看次数

标签 统计

pandas ×3

python ×3

dataframe ×2

datetime ×2

csv ×1

filtering ×1

numpy ×1