我有一个由23个序列组成的熊猫数据框,通过导入ndarray获得默认序列索引(0,1,2,…). 数据框中的两个序列包含记录时间信息.一个系列(‘SECONDS’)包含自1900年初以来的秒数.另一个系列(‘NANOSECONDS’)包含相应秒数的纳秒数. 在python中,转换可以通过以下方式完成(在一条记录中):import datetime as dt Mydt = dt.datetime(1990,1,1,0,0,0) + dt.timedelta(seconds = 706500000) print Mydt在pandas方法中是否存在执行相似的数组计...
我正在使用由数字列表组成的Pandas系列,单词作为索引:$10 [1, 0, 1, 1, 1, 1, 1] $100 [0, 0, 0] $15 [1] $19 [0, 0] $1? [1, 1] $20 [0, 1, 1] $20-$40 [0]我正在尝试编写一些简单的代码,以创建一个新系列,其中仅包括包含长度为’n’或更大的列表的...
假设我有一个pandas.Series,其索引的数值类型为例如pd.Series( [10,20], [1.1, 2.3] )我们如何以0.1间隔重新采样上述序列?看起来.resample函数只能在日期时间间隔上工作?解决方法:那就是插值的名称.您可以考虑将重采样作为插值的特例.In [24]: new_idx = s.index + pd.Index(np.arange(1.1, 2.3, .01))In [25]: s.reindex(new_idx).interpolate().head() Out[25]: 1.10 10.000000 1.11 10.083333 1.12 10.166667 1.13 ...
对此必须有一个简单的答案,但是由于某种原因我找不到它.抱歉,如果这是一个重复的问题. 我有一个形状为(1000,100)的数据框.我想将数据框中的所有项目串联成一个系列(或列表).顺序无关紧要(因此,沿哪个轴连接也无关紧要).我不想/不需要保留任何列名或索引.可以删除NaN和重复项,但不是必须的. 最简单的方法是什么?解决方法:对于所有元素,这将产生一个最小dtype的1-dim numpy数组.df.values.ravel()
(背景:我正在尝试学习Pandas和matplotlib并从我的irclog中获得一些漂亮的图表.) 我设法将一些数据解析成一个多索引的Series(我们称之为itseries):msgs id datetime_period A 2014-07-04 07:00 12014-07-04 08:00 22014-07-08 11:00 5 B 2014-07-08 11:00 1 C 2014-07-04 07:00 2对于制图,我想将其组织成如下所示的数据框:index A B C 2014-07-04 07:00 1 0 2 2014-07-04 08:00 2 0 0 2...
我有多个带有MultiIndex的Series,我想将它们组合成一个DataFrame,将它们连接到通用索引名称上(并广播值).设置就像import pandas as pd a=pd.Series([12,13,14,15], index=pd.MultiIndex.from_tuples([(1,1),(1,2),(2,1),(2,2)], names=["i", "j"])) b=pd.Series([21,22], index=pd.MultiIndex.from_tuples([(1,),(2,)], names=["i"]))我如何得到结果i j a b 1 1 12 21 1 2 13 21 2 1 14 22 2 2 15 22您能否建议如何获得...
我有一些时间序列数据,可以是1Hz,10Hz或100Hz.我加载的文件恰好是1Hz:In [6]: data = pd.read_csv("ftp.csv")In [7]: data.Time Out[7]: 0 NaN 1 11:30:08 AM 2 11:30:09 AM 3 11:30:10 AM 4 11:30:11 AM 5 11:30:12 AM 6 11:30:13 AM我将其转换为datetime:In [8]: time = pd.to_datetime(data.Time)In [9]: time Out[9]: 0 NaT 1 2015-03-03 11:30:08 2 2015-0...
我正在使用Pandas作为从Selenium写入数据的方法. 网页上的搜索框ac_results的两个示例结果:#Search for product_id = "01" ac_results = "Orange (10)"#Search for product_id = "02" ac_result = ["Banana (10)", "Banana (20)", "Banana (30)"]Orange仅返回一个价格($10),而Banana从不同供应商返回可变数量的价格,在此示例中,三个价格分别为($10),($20)和($30). 该代码通过re.findall使用正则表达式来获取每个价格并将它们放入列...
我必须从“会话”列中提取时/分/秒,并将它们添加到时间中.有什么办法可以使用熊猫吗? 我有这样的事情:0 22 hrs 7 min 27 sec 1 10 min 10 sec 2 31 min 19 sec Name: session, dtype: object我想将此列值转换为秒,然后将总秒数添加到其他时间列.这将给我总的时间花费. 关于如何在df中拆分此类列的任何建议?解决方法:如果您调整格式,则可以使用to_timedelta(然后可以将其添加到datetime列中):In [11]: s O...
我正在绘制几个“每周事件总数”的熊猫系列对象.系列events_per_week中的数据如下所示:Datetime1995-10-09 451995-10-16 631995-10-23 831995-10-30 911995-11-06 101 Freq: W-SUN, dtype: int64我的问题如下.所有熊猫系列的长度都相同,即从1995年开始.但是,其中一个阵列于2003年开始. events_per_week2003从2003年开始Datetime2003-09-08 252003-09-15 362003-09-22 742003-09-29 252003-09...
我敢肯定这是一个简单的方法,但我无法正确获取df.loc的语法.import pandas as pd import numpy as npd = { 'data' : [4, 2, 7, np.nan, 7, 6, 5, np.nan, 6, 3, np.nan, 2], 'a' : [4, 2, 7, 9, 7, 6, 5, 4, 6, 3, np.nan, 2], 'b' : [4, 2, 7, 11, 7, 6, 5, 2, 6, 3, 3, 2]}df2 = pd.DataFrame(d)df2.loc[df2.data == np.nan], min(['a', 'b'])print df2我想用标签“ a”和“ b”中的最小值替换“数据”中的所有np.nan.请注意,有时...
M是数据帧df中的col,它指示月份数.M 1 0 15我想找出2015年1月1日至2015年1月1日df.M之间的天数.以下col是我想要的.daynum 31 0 456我知道如何使用循环和列表来做到这一点:int((datetime.strptime("2015-01-01", "%Y-%m-%d") + relativedelta(months=df.M[i]) - datetime.strptime("2015-01-01", "%Y-%m-%d")).days)大熊猫中是否有任何内置函数可以轻松解决此问题?解决方法:您可以使用与问题中相同的方法,但是使用自动矢量化操作而...
考虑系列obj:In [50]: obj = Series(np.arange(6,10), index = ['a', 'b', 'c', 'd'])In [51]: obj Out[51]: a 6 b 7 c 8 d 9 dtype: int64我想要切片obj,并且可以通过以下两种方式实现:In [52]: obj[1:3] Out[52]: b 7 c 8 dtype: int64In [53]: obj['b' : 'c'] Out[53]: b 7 c 8 dtype: int64现在考虑DataFrame param_estimates_good:In [54]: param_estimates_good Out[54]: a b sig...
我有python pandas系列字典:id dicts 1 {'5': 1, '8': 20, '1800': 2} 2 {'2': 2, '8': 1, '1000': 25, '1651': 1} ... ... ... ... ... ... 20000000 {'2': 1, '10': 20}词典中的(键,值)表示(“功能”,计数).存在大约2000个独特功能. 该系列在熊猫中的内存使用量约为500MB.将对象写入磁盘的最佳方法是什么(理想情况下,磁盘空间使用率较低,并且写入后又回读很快)...
我正在尝试计算特定列’df1’当前行的值落在前5行(在2个并排的列中)的高低范围值之间的次数.这是一个后续问题-Dickster已经完成了here的繁重任务. Series().between()方法不配合,抱怨AttributeError:’Series’对象没有属性’columns’.我不明白我是如何涉及columns属性的.list1 = [[21,101],[22,110],[25,113],[24,112],[21,109],[28,108],[30,102],[26,106],[25,111],[24,110]] dict1 = {} dict1['df1'] = pd.DataFrame(list1,i...