我有一个与csv文件和解析datetime有关的简单问题。
我有一个csv文件,如下所示:
YYYYMMDD, HH, X
20110101, 1, 10
20110101, 2, 20
20110101, 3, 30
我想使用pandas(read_csv)读取它,并将其放入由datetime索引的数据帧中。到目前为止,我已经尝试实现以下内容:
import pandas as pnd
pnd.read_csv("..\\file.csv", parse_dates = True, index_col = [0,1])
我得到的结果是:
X
YYYYMMDD HH
2011-01-01 2012-07-01 10
2012-07-02 20
2012-07-03 30
如您所见,将HH转换为其他日期时的parse_dates。
是否有一种简单有效的方法将“ YYYYMMDD”列与“ HH”列正确组合,以实现类似的目的?:
X
Datetime
2011-01-01 01:00:00 10
2011-01-01 02:00:00 20
2011-01-01 03:00:00 30
先谢谢您的帮助。
如果将列表传递给index_col
,则意味着您要在列表中的列之外创建层次结构索引。
另外,parse_dates
可以将关键字设置为True或列表/字典。如果为True,则它将尝试将各个列解析为日期,否则它将合并列以解析单个日期列。
总而言之,您要执行的操作是:
from datetime import datetime
import pandas as pd
parse = lambda x: datetime.strptime(x, '%Y%m%d %H')
pd.read_csv("..\\file.csv", parse_dates = [['YYYYMMDD', 'HH']],
index_col = 0,
date_parser=parse)
问题内容: 谢谢大家的时间。我有许多使用空格分隔的文本文件格式; 格式为DD MM YY HH MM SS和我的结果值。我正在尝试使用Python的熊猫读取txt文件。在发布此问题之前,我已经尝试过对此进行大量研究,因此希望我不会涵盖很多问题。 基于反复试验和研究,我得出了: 在这一点上,我被困住了。首先,预期的读取缓冲区错误使我感到困惑。我是否需要对.txt文件进行更多预处理,才能将日期转换为可
我有一个熊猫数据框,它看起来如下()。我希望将列的值转换为独立的列() 原始数据帧 转换数据帧 实现这一目标最方便的方法是什么?
我有一个熊猫数据框与重叠的时间跨度,看起来像这样: 我的目标是获得每组的最小值和最大值。我试过: 但这只按的最小值和最大值进行分组,而我正在寻找每组的的最小值和的最大值。 例如,在聚合之后,grp6应该具有最小的和最大的 熊猫有没有一个简单的解决办法?
我的主要问题是列表的长度不一样。但是所有列表只包含最多相同的3个值:'a'、'b'和'c'。它们总是以相同的顺序出现('a'第一,'b'第二,'c'第三)。 下面的代码用来工作并返回我想要的东西(df2)。 我上周刚刚运行了这个代码,它运行得很好。但是现在我的代码坏了,我从第[4]行得到了这个错误: 数据以这种格式从数据库导入。对这个问题有什么帮助或想法吗?有办法转换Unicode吗?
问题内容: 题 我在弄清楚如何根据其他两列中的值创建新的DataFrame列时遇到麻烦。我需要使用if / elif / else逻辑。但是我发现的所有文档和示例仅显示了if / else逻辑。这是我正在尝试做的一个示例: 码 我也愿意使用where()。只是找不到正确的语法。 问题答案: 如果您有多个分支语句,则最好创建一个接受行的函数,然后将其应用于。这通常比通过行迭代要快得多。
我有一个数据框,上面写着有一列 <代码> 我想对这些年龄段进行分组,并创建一个类似这样的新专栏 如何使用Pandas库实现这一点。 我试过这样做 但这样做我得到了这个警告 /Users/Anand/miniconda3/envs/learn/lib/python3.7/site packages/ipykernel_launcher.py:3:SettingWithCopyWarning:试图在数