Pandas 移动多索引时间序列的最有效方法

我有一个由许多堆叠的时间序列组成的数据帧。索引是(poolId,month),其中两者都是整数,“month”是自2000年以来的月数。计算多个变量滞后一个月版本的最佳方法是什么 现在,我做了一些类似的事情: cols_to_shift = ["bal", ...5 more columns...] df_shift = df[cols_to_shift].groupby(level=0).transform(lambda x: x.shift(-1)) 就我的数据而言,这花了我整整60秒的时

Pandas 移动不均匀时间序列数据

我有一些不规则的时间序列数据,带有时间戳,每个时间戳上都有观测值,以熊猫为单位。不规则基本上意味着时间戳是不均匀的,例如,两个连续时间戳之间的间隔是不均匀的 例如,数据可能看起来像 Timestamp Property 0 100 1 200 4 300 6 400 6 401 7

Pandas 函数,使用以前计算的值

有一个简单的问题,我还没有找到一个简单的答案。例如,可以使用此数据框: A = pd.Series([0.1,-0.2,0.14,0.12,-0.11]) B = pd.Series([1.0,3.0,2.0,6.0,9.0]) df = pd.DataFrame({'A':A,'B':B}) 我现在想创建一个列C,如下所示: C_i = A_i*(B_i+C_{i-1}) i、 e.要计算C的值,我需要以前计算的C值。这可以通过一个简单的for循环完成,但我想使用map、apply或其他一

Pandas 熊猫排序串联系列:按日期加速切片

我有两个按日期索引的熊猫系列,如下所示,在pd_系列中有大约4000万个元素,s1是pd_系列的一个排序子阵列,有大约2000万个元素。我试图通过执行以下操作来避免对整个pd_系列进行排序 s1 = pd_dc_series s2 = pd_series[dt_dc_end+2:dt_end] s = pd.concat([s1, s2]) s.sort() 其中,pd_dc_series和pd_series是pandas series,dt_dc_end和dt_end是pandas.tsli

Pandas 在保留索引列的同时转置熊猫中的数据帧

问题是,当我转置数据帧时,转置后的数据帧的标题成为索引数值,而不是“id”列中的值。有关示例,请参见以下原始数据: 我想转置的原始数据(但保持0,1,2,…索引不变,并在最终转置的数据帧中将“id”更改为“id2”) DataFrame在我转置后,请注意标题是索引值,而不是“id”值(这是我所期望和需要的) 逻辑流 首先,这有助于去除作为标题的数字索引: 然后,这有助于摆脱作为标题的索引编号,但现在“id”和“index”被洗牌了:& 但现在我的id和索引值由于某种原因被打乱了 如何解决此问

Pandas 熊猫图图例=False不工作

因此,我在同一轴上绘制两个数据帧: dataframe1.plot(ax=ax1, marker='o', linestyle='None') dataframe1fit.plot(ax=ax1, legend=False) 仅为第一个数据帧提供legened,但未在图例中显示任何标记(仅图例contians文本),因此,如果我将: ax1.legend(numpoints=1) 标记已添加到图例中,但dataframe1fit绘图的图例条目也可见(图例=False无效)。那么,如何在ax1

Pandas 如何选择第一个值为NaN的列?

下面是我正在处理的一些数据的示例 A B C 2014-01-01 4072.0 9871.0 NaN 2014-02-01 NaN 9948.0 NaN 2014-03-01 NaN 10248.0 NaN 2014-04-01 NaN 9872.0 NaN 2014-05-01 NaN 12438.0 NaN 2014-06-01 NaN 10588.0 NaN 2014-07-01 NaN 8718.0 NaN 20

Pandas 找出数据帧中两列之间的空值

我必须检查Dataframe中的两列之间是否有空值。我使用以下方法获取了数据帧中第一个非空值和最后一个非空值的位置: x.first_valid_index() x.last_valid_index() 现在我需要找出这两个位置之间是否有任何空值我认为这与检查所有NaN值到布尔掩码和总和真值值是一样的: x = pd.DataFrame({'a':[1,2,np.nan, np.nan], 'b':[np.nan, 7,np.nan,np.nan],

Pandas 从最大值到第10个值排序,并输出其对应的行

我有一个该州犯罪率的数据框架,我想把犯罪率最高的10个郊区排在前面。目前,我可以使用.rank(),但我想输出郊区的名称,而不是犯罪的价值 谢谢 我被迫推断数据是什么样子,因为您没有提供数据样本。但是,如果数据是这样的 >>> df = pd.DataFrame({'state':['NH', 'CA', 'MA', 'FL'], 'crime_rates':[0.5, 1.3, 0.9, 1.1]}) >>> df crime_rates state

Pandas 熊猫海狸导致南行?

我有两个具有相同行数的数据帧:1434,我想将它们连接到轴1: res = pd.concat([df_resolved, df1], axis=1) 这两个数据帧没有任何具有相同名称的列。我只想像这样加入他们: df1: df2: col1 col2 | col3 col4 1 0 | 9 0 6 0 | 0 0 = concatenated_df: col1 col2 col3 col4 1 0 9 0 6 0

Pandas to_sql使索引唯一

我已经读过关于pandas to_sql解决方案的内容,这些解决方案可以避免向数据库中添加重复记录。我正在处理csv日志文件,每次我上传一个新的日志文件,然后读取数据,并通过创建一个新的数据框进行一些更改。 然后我执行到\u sql('Logs',con=db.engine,如果存在='append',index=True)。使用if_存在arg i确保每次从新文件创建的新数据帧都附加到现有数据库中。问题是它不断添加重复的值。我想确保,如果一个已经上传的文件被错误地再次上传,它将不会被附加到数据

Pandas 使用复合索引重新索引数据帧

我必须使用'index_col=False'选项从文本文件加载数据帧,以避免标题和记录之间的偏移 现在已经正确地加载和清理了数据帧,我需要根据由前4列组成的键重新编制索引 问题1:推荐选项:我应该使用复合键创建一个额外的列,还是有更有效的替代方案? 问题2:如果我需要根据复合键重新编制索引,有没有关于如何在数据帧中执行此操作的提示?您可以简单地将4列放入索引中,并使用set_index[col1,col2,col3,col4],inplace=True。您可以参考以下文档: 如果要检查索引的唯一

Pandas 使用熊猫访问标量格式的元素

我有一个包含以下行的数据框:- restaurantName cuisine totalRating delivery Bindia Indian Bistro indian 4.0 Yes Bhoj Indian Cuisine indian 4.5 Yes Indian Roti House indian 4.0 Yes Utsav

Pandas 标记大小/带窗口大小的alpha缩放/放大打印/分散

在探索xy图表上具有多个点的数据集时,我可以调整alpha和/或标记大小,以提供点最密集聚集位置的快速视觉印象。但是,当我放大或放大窗口时,需要使用不同的alpha和/或标记大小来提供相同的视觉效果 当我扩大窗口或放大数据时,如何使alpha值和/或标记大小增加?我在想,如果我将窗口面积加倍,我可以将标记大小加倍,和/或取alpha的平方根;与之相反的是缩放 请注意,所有点都具有相同的大小和alpha。理想情况下,该解决方案可以与plot一起使用,但如果只能使用分散处理,则也会很有帮助。您可以通

Pandas 数据帧之间的匹配间隔

我有两个数据帧。第一个(文件_1),包含一个ID列和深度from和depth to ID Depth_From Depth_To 0 HLD032 611.10 612.00 1 HLD032 612.00 612.20 2 HLD032 612.20 614.80 3 HLD032 614.80 616.20 4 HLD032

Pandas Bokeh绘图不显示任何内容

我编写了一个Python程序,用于根据谷歌的财务数据绘制烛台图。但我无法获取图形(没有显示任何内容)。我认为问题在于X坐标,即df.index。有人能帮我解决这个问题吗 from pandas_datareader import data import datetime from bokeh.plotting import figure, show, output_file start=datetime.datetime(2016,3,1) end=datetime.datet

Pandas 根据条件创建标签

我想根据两个条件为我的数据集分配一个标签 dataset['Class'] = np.where(dataset['Motor Frequency (Hz)']>=30 & dataset['FCW Status']=6, 'Normal', 'Anomaly') 但我有一个错误: 无法将数据类型的[float64]数组与类型为[bool]的标量进行比较。我认为需要添加条件,因为运算符优先级和更改为==: 您缺少a=需要是数据集['FCW Status']==6,但它不起作用。由

Pandas 时间差计算误差

我的数据框中有两个时间列:date1和date2。 我一直认为,两者都是日期和时间格式。然而,我现在必须计算两者之间的天数差,这不起作用 我运行以下代码来分析数据: df['month1'] = pd.DatetimeIndex(df['date1']).month df['month2'] = pd.DatetimeIndex(df['date2']).month print(df[["date1", "date2", "month1", "month2"]].head(10)) print(

Pandas 将熊猫中的一列按另一列分组?

我想得到一列的中值,然后使用另一列的关联值。比如说, col1 col2 index 0 1 3 A 1 2 4 A 2 3 5 A 3 4 6 B 4 5 7 B 5 6 8 B 6 7 9 B 我按指数分组,得到第1列的中值,并使用第2列的相关值得到 col1 col2 index 2 4

Pandas 如何获取具有相同名称的单行列的值?

我有相同列名的数据帧,所以我合并了它们 df1 df2 df3 合并后,生成的数据帧如下所示: df=pd.merge(df1,df2,df3, on='wave',axis=1,join='inner') wave num_x stlines_x num_x stlines_x num_x stlines_x 0 4050.32 3.0 0.282690 3 0.28616 3.0 0.282690 1 4208.98

Pandas 在特定条件下过滤柱?

我有一个熊猫数据框,看起来像 Start Time 0 2017-06-23 15:09:32 1 2017-05-25 18:19:03 2 2017-01-04 08:27:49 3 2017-03-06 13:49:38 4 2017-01-17 14:53:07 5 2017-06-26 09:01:20 6 2017-05-26 09:41:44 7 201

Pandas 熊猫导出为_csv(),列名周围带引号

出于某种原因,我需要以这种格式输出到csv,并在每个列名称周围加上引号,我想要的输出如下所示: "date" "ret" 2018-09-24 0.00013123989025119056 >>> df date ret 0 2018-09-24 0.000131 我正在尝试 import csv import pandas as pd Y_pred.index.name = "\"date\"" Y_pred.name = "\'ret

Pandas 如果存在NaN,如何将1添加到以前的数据中

我想知道是否有可能在数据帧/系列中的缺失值中添加1(或n) 例如: 1 10 nan 15 25 nan nan nan 三十 将返回: 1 10 11 15 25 26 27 28 三十 谢谢,使用.ffill+groupby.cumcount的结果来确定n df[0].ffill() + df.groupby(df[0].notnull().cumsum()).cumcount() 0 1.0 1 10.0 2 11.0 3 15.0 4 25.0 5

如何用字符串“替换pandas数据帧中的所有NAN?”;无”;

我有一个数据帧,其中一些是空的。我想把它变成一个None字符串,这样我可以比NaN值更容易地解析它 df = df.replace(np.nan, 'None', regex=True) 使用上面的代码。None作为python对象,NaN是一种更适合表示缺失数据的浮点类型。你能解释一下你想做什么吗?regex=True这行不通,特别是因为你没有替换字符串(np.nan不是字符串)

Pandas groupby聚合与数据帧的差异,尤其是在轴=1上

我不理解出现的失败,也不理解为什么“应用于组”在两个组中失败,但在一个组中失败 我已经解决了我的总体目标(我试图将一些列串连接在一起),但我担心这些失败会让我有些困惑 参考的驱动目标是能够 import pandas as pd import numpy as np def main(): df = pd.DataFrame([["a", "b", "c", "k"],["d", "e", "f", "l"],['g','h','i', "J"]], columns=["ay", "b

Pandas 遍历DataFrameGroupBy对象以创建带有每月子批次的年度图像

我有一个熊猫数据框,带有每小时风速和风向的日期时间索引。我的timeseries涵盖了31年,我需要制作每月风玫瑰的年度图像。这将转化为31幅图像,每个图像有12个子图 我已经想出了如何使用windrose软件包获得windrose。使用GroupBy,我可以每年和/或每月对数据进行分组 我尝试过按年和月进行分组,但不知道如何按年进行迭代以生成月度图 grouped = data.groupby(by=[data.index.year, data.index.month]) 接下来,我尝试做一

Pandas 如何在python中通过列和行名称获取值

我使用pandas得到一个共现矩阵,如下所示 lst = [ ['a', 'b'], ['b', 'c', 'd', 'e'], ['a', 'd'], ['b', 'e'] ] u = (pd.get_dummies(pd.DataFrame(lst), prefix='', prefix_sep='') .groupby(level=0, axis=1) .sum()) v = u.T.dot(u) v.values[(np.r

将KDE与scikitlearn和pandas结合起来进行绘图。然而,分布不在数据范围之内

我使用SCIKDE函数和Pandas plot.KDE拟合一组数据的分数分布,范围为1-13 我用gridsearchCV方法设置了带宽。然而,绘制分布图时,值的范围达到-2.5和17.5。这些数据超出了1-13的数据范围。 我附上了发行版本身的图片,并将在下面展示一些代码: plot_m = df_match.plot.kde(bw_method = 0.6842105263157895) 我的问题是,我如何为这样的核密度估计器设置边界?分数超出数据范围的概率应为0。核密度估计通常使用高斯凹

Pandas 按百分比级别对数据帧进行分组

我有一个数据帧: names = ['OH', 'HL', 'LC', 'OL', 'LH', 'HC'] percentiles = [.75, .90, .95, .98] for col_name in names: for perc in percentiles: k = df[df[col_name] > df[col_name].quantile(perc)] k.loc[:, 'Level'] = str(perc)

Pandas 基于另一个数据帧执行替换

我有两个数据帧: item | label 213 'red' 112 'green' 332 'orange' ... 还有另一个数据帧,其行为本质上类似于字典: old_label | new_label 'red' 'red and bright' 'orange' 'mild orange' 如何应用从第二个数据帧到第一个数据帧的映射,以获得: item | label 213 'red an

Pandas 删除Python系列中带有特殊字符的前缀

如何删除以下系列中的Bale+Damon-前缀 import pandas as pd x = pd.Series(['Bale + Damon - Le Mans 66', 'Bale + Damon - Ford', 'Bale + Damon - vs.', 'Bale + Damon - Ferrari']) print(x) 0 Bale + Damon - Le Mans 66 1 Bale + Damon - Ford 2 Bale + Damon - vs. 3

Pandas 将数据帧加载到具有int64数据类型的配置单元中

将包含数据类型为int64的列的pandas数据帧加载到配置单元表时出错 当我排除int64数据类型时,数据将加载到配置单元,但当我包含数据类型时,它将失败。B和C的数据值摘录为1212345678 熊猫 df.dtypes A object B int64 C int64 D float6 df_s.to_parquet("data.parquet") 蜂巢 错误: 错误:java.io.IOException:…:java.lang.ClassCastExcept

为什么Pandas和GeoPandas能够使用DBAPI(psycopg2)连接读取数据库表,但必须依靠SQLAlchemy来编写? 上下文

我只是在试图从脚本对某些数据库执行一些I/O操作时遇到了麻烦 当我想要访问数据库时,我习惯使用and来处理 我的数据通常存储为和/或的等效项 困难 为了从数据库表中读取数据; 使用: 我可以依赖其方法,该方法将作为参数con,如文档中所述: con : SQLAlchemy connectable (engine/connection) or database str URI or DBAPI2 connection (fallback mode)' Using

Pandas “Line2D”对象没有属性“种类”

我刚开始学习pandas,当时我想在2013年创建一个fig,ax=plt.subplots对象并将该图添加到创建的ax上,绘制一个站点平均值条形图。运行代码'Line2D'的这部分时,我遇到了这个错误。对象没有属性'kind' fig,ax = plt.subplots(1) x= data.columns y=data['2013'].mean() ax.plot(x,y,kind='bar') ``````````````````````` [this is my DATASET]

Pandas 熊猫:如何对数据框中的一系列列进行排序?

我有一个数据框,我需要按数据列的最大值排序。我在执行排序时遇到问题,因为我发现的所有排序示例在执行排序时都对数据帧中的所有列进行操作。在这种情况下,我只需要对列的子集进行排序。第一列包含日期,其余90列包含数据。90个数据列当前按其列名的字母顺序排序。我想按最大值的降序对它们进行排序,最大值恰好在最后一行 在更大的方案中,这个问题是关于如何对数据帧中的一系列列执行排序,而不是对数据帧中的所有列进行排序。例如,在某些情况下,我只需要对数据帧的第2列到第12列进行排序,而将其余的列保留在它们现有的顺

Pandas 如何使用'NaN'值显示索引​;对于熊猫中的每一列?

我将举例说明 我有以下数据: id day week 1 10 3 2 NaN 4 NaN NaN 5 我需要这个输出: id [2] day [1, 2] week False (or smth like this) 输出显示带有NaN值的索引​​对于每列 我已经为此编写了代码,但我不喜欢它: index_nan = [] for col in data.columns: if data[col].isnul

Pandas 合并两个数据帧时如何应用条件逻辑

我有以下数据帧: df1: 及 df2: 我想在df2和df1之间进行连接。如果我做一个简单的连接,我得到 account employees id name us 5 2 twiggs us 5 3 twiggs 但是,我想添加一些自定义逻辑,这样我就可以使用另一个查找函数来计算id,并在2和3之间进行选择,从而生成 account employees id nam

在Python中使用Pandas提高处理大型csv文件的速度

我正在尝试下载每个BTCUSD交易的市场数据,并使用以下代码将其存储在csv文件中 from binance_f import RequestClient from datetime import datetime import pandas as pd import time def download(): request_client = RequestClient(api_key=x, secret_key

Pandas 熊猫分级索引&x27;s使用n-d numpy数组作为索引的数据帧

我需要将csv文件中的参数化数据读取到数据框中进行统计分析。我想使用层次索引。我有10组参数,共有70个变量。excel表示形式的样例剪切: 我尝试使用n-d nparray构建df,以避免手动定义元组,但在使用数组、从_乘积、每个参数合并多个数据帧等之间迷失了方向: params = np.array([[['Baseline'], ['orig']] , [['Threshold'], ['Thresh-2', 'Thresh+2', 'Thr

Pandas 熊猫是一种可供选择的性能?

试图在这个GroupBy上提高速度,并提出用更快的代码替换它的想法 目标是创建一个“规范化名称”列,这是基于“位置ID”最频繁出现的列。如何以更有效的方式实现相同的结果 这是我的入门数据框架: Company Name Location ID 0 jones LLC F55555JONE 1 jones LLC F55555JONE 2 jones F55555JONE 3 alpha Co F11111AL

Pandas 熊猫数据框至拼花地板-Don';我不知道如何转换数据类型:Int64

有人知道标题中的问题是否已经解决了吗? 问题是pandas需要一个类型为Int64(而不是Int64)的列来处理空值,但如果试图将数据帧转换为拼花文件,则会出现以下错误:不知道如何转换数据类型:Int64 如果没有解决,是否有已知的解决方法 Dani您能否添加重现问题的代码?您正在使用哪些pyarrow和pandas版本?pandas版本0.25,使用fastparquet 0.2.1您可以尝试使用pyarrow 1.0.1而不是fastparquet吗?这应该支持Int64列。

在pandas中创建分层列的问题

刚刚接近熊猫的等级列。原始数据帧(df)有27列,如下所示(Ticker是索引): 我想修改列结构,以便第一级是报告日期,第二级是股份和毛利列。我尝试为一个ticker(AAPL)创建一个具有此结构的新数据帧,我使用的代码如下: col = pd.MultiIndex.from_product([df['Report Date'], df[['Shares', 'Gross Profit']]]) df1 = pd.DataFrame(df.loc['AAPL'], columns=col)

Pandas 添加新列并查找组总数百分比的常见方法

稳定地将任务从excel转移到pandas,在创建依赖于分组和其他两列值的新列时,有哪些常用方法 在excel中,这可以通过a=B2/SUMIFS(B:B,a:a,A2)实现——熊猫中是否有类似的简单方法?我试过了,但运气不好 示例如下: import pandas as pd data = [{'GROUP': 1, 'VALUE': 3}, {'GROUP': 1, 'VALUE': 3}, {'GROUP': 1, 'VALUE': 4},

Pandas 从特定列生成随机数

我有一个这样的数据集 item_id EAN Price 3434 232 34 3233 412 28 总共有54344个数据点 我想随机打印EAN中的40个值。我尝试了一些技巧,比如 df=pd.read_csv('item_desc.csv') print(df['EAN'].random.rand(40)) 但它不起作用。有人能给我推荐代码吗?你可以使用示例: df.sample(n=40) 您可以使用示例: df.sample(n=40)

Pandas 如何在pyspark dataframe中对单个列执行整形操作?

我有一个很长的pyspark数据帧,如下所示: +------+ |number| +------+ |12.4 | |13.4 | |42.3 | |33.4 | |42.3 | |32.4 | |44.2 | |12.3 | |45.4 | +------+ 理想情况下,我希望将其重塑为nxn矩阵,其中n是sqrt(pyspark数据帧的长度) 虽然有一个解决方案,将其转换为一个numpy数组,然后将其重塑为nxn矩阵,但我希望在pyspark中完成。因为我的数据非常长(

Pandas read_html无法读取表格

我正在使用以下代码: import requests, pandas as pd from bs4 import BeautifulSoup if __name__ == '__main__': url = 'https://www.har.com/homedetail/6408-burgoyne-rd-157-houston-tx-77057/3380601' list_of_dataframes = pd.read_html(url) 但是,在\u数据框列表中,没有学校信

  1    2   3   4   5   6  ... 下一页 最后一页 共 208 页