草庐IT

python - Pandas - groupby 具有另一列条件的列

关于如何根据条件对多个列值进行分组,我正在与pandas作斗争:这是我的数据作为pandas数据框的样子:idtriggertimestamp1started2017-10-0114:00:11ended2017-10-0412:00:12started2017-10-0210:00:11started2017-10-0311:00:12ended2017-10-0412:00:12started2017-10-0515:00:11ended2017-10-0516:00:12ended2017-10-0517:00:1我的目标是找出按id分组的日期之间的天/小时或分钟差异。我的输出应

python - Pandas 在保存为 CSV 时更改 NaN 值的格式

我正在使用df并使用numpy来转换数据——包括将空白(或“”)设置为NaN。但是当我将df写入csv时-输出包含字符串'nan'而不是NULL。我环顾四周,但找不到可行的解决方案。这是基本问题:dfindexxyz01NaN21NaN34CSV输出:indexxyz01nan21nan34我尝试了一些方法将“nan”设置为NULL,但csv输出结果为“空白”而不是NULL:dfDemographics=dfDemographics.replace('nan',np.NaN)dfDemographics.replace(r'\s+(+\.)|#',np.nan,regex=True).

python - 使用字典转换 pandas 系列中列表的元素

我有以下Pandas数据框:1["Apple","Banana"]2["Kiwi"]3None4["Apple"]5["Banana","Kiwi"]和下面的字典:{1:["Apple","Banana"],2:["Kiwi"]}我现在想使用字典将列表中的所有条目映射到我的数据框中。结果应该是这样的:1[1]2[2]3None4[1]5[1,2]如何最有效地做到这一点? 最佳答案 方法一我正在使用unnestingd={z:xforx,yind.items()forziny}s=unnesting(s.to_frame().drop

python - Pandas 数据框申请

我有一个包含四列的PandasDataFrame,A、B、C、D。事实证明,有时B和C的值可以是0。因此,我希望获得以下信息:B[i]=B[i]ifB[i]elsemin(A[i],D[i])C[i]=C[i]ifC[i]elsemax(A[i],D[i])我在这里使用i来指示遍历框架的所有行。使用Pandas很容易找到包含零列的行:df[df.B==0]anddf[df.C==0]但是我不知道如何轻松地执行上述转换。我可以想到各种低效和不优雅的方法(for在整个框架上循环)但没有什么简单的。 最佳答案 bool索引和应用的组合可以

python - 在计算 Pandas 创建的数据框中列的平均值时指定 "skip NA"

我正在通过复制一些R小插图的郊游来学习Pandas包。现在我使用R中的dplyr包作为示例:http://cran.rstudio.com/web/packages/dplyr/vignettes/introduction.htmlR脚本planes20,distPython脚本planes=hflights.groupby('TailNum')planes['Distance'].agg({'count':'count','dist':'mean'})我如何在python中明确声明需要跳过NA? 最佳答案 这是一个棘手的问题,因为

python - 在 setup.py 中安装 numpy + pandas 作为依赖项

通过setuptools安装numpy+pandas作为setup.py中的依赖项对我不起作用。这与缺少依赖关系无关。如果我通过pipinstallnumpy安装numpy然后pythonsetup.pydevelop一切正常。如果我对setuptools文档的理解正确,那么所有包都是先构建然后安装。所以numpy是构建的,但在构建pandas时没有安装。作为解决方法,我将numpy添加到我的setup_requires中。这工作正常,但显然不是一个非常干净的解决方案。有人知道通过setuptools安装numpy+pandas的干净解决方案(仅Linux就可以)吗?更新:依赖是通过配

python - 将 Pandas DataFrame 转换为 JSON 作为更大数据结构的元素

我一直在我的服务器中使用pandasDataFrame对象,将它们转换为CSV以传输到浏览器,其中表格值使用d3绘制。虽然CSV就其本身而言是文件,但我确实需要的不仅仅是一个二维数据表。如果不出意外,我想返回一些关于数据的元数据。所以我开始摆弄JSON,认为我可以构建一个包含一些元信息和我的DataFrame的字典。例如,就像一个荒谬的简单例子:>>>z=numpy.zeros(10)>>>df=pandas.DataFrame(z)>>>df000102030405060708090>>>result={..."name":"SimpleExample",..."data":df,.

python - 在 Pandas 中将频率字符串转换为 DateOffset

在pandas文档中,当谈到诸如“W”或“W-SUN”之类的频率字符串时,可以读到“Underthehood,thesefrequencystringsarebeingtranslatedintoaninstanceofpandasDateOffset”。那么,如何在给定字符串的情况下获取DateOffset的实例?最终想将我的程序配置为字符串的频率(比如“W-SUN”),但在内部想做类似的事情offset=Week(weekday=0)ifd1-3*offset但是从字符串定义偏移量。谢谢 最佳答案 您可以为此使用to_offse

python - pandas:使用 loc 迭代 DataFrame 索引

我似乎找不到.loc行为背后的原因。我知道它是基于标签的,所以如果我遍历Index对象,下面的最小示例应该可以工作。但事实并非如此。我当然用谷歌搜索了,但我需要已经掌握索引的人的额外解释。importdatetimeimportpandasaspddict_weekday={1:'MON',2:'TUE',3:'WED',4:'THU',5:'FRI',6:'SAT',7:'SUN'}df=pd.DataFrame(pd.date_range(datetime.date(2014,1,1),datetime.date(2014,1,15),freq='D'),columns=['Dat

python - 将元组添加到 Pandas 数据框的特定单元格

就在我以为自己掌握了Python和Pandas的诀窍时,另一个看似简单的问题突然出现了。我想将元组添加到Pandas数据框的特定单元格。这些元组需要根据数据框中其他单元格的内容即时计算-换句话说,我无法轻松地提前计算所有元组并将它们添加为单个数组。例如,我用一些数据定义了一个数据框并添加了几个空列:importpandasaspdimportbumpyasnptempDF=pd.DataFrame({'miscdata':[1.2,3.2,4.1,2.3,3.3,2.5,4.3,2.5,2.2,4.2]})tempDF['newValue']=np.nantempDF['newTupl