如何提取pyomo模型中的索引变量信息并建立Pandas数据框架
我试图使用具有不同大小的几个索引变量的PYOMO来求解MIP.我想做的是将变量的结果导出到数据范围,以便我可以进一步分析这些结果.我的问题是,我无法找到一种很好地自动化该过程的方法,因为索引变量的大小可以在每个模型模拟中更改. . 这是我要创建的一些变量的示例: import pyomo.environ as pyo model = pyo.ConcreteModel() model.T = pyo.RangeSet(0, 10) model.Generators = pyo.Set(initialize=(['equip_1', 'equip_2'])) model.Storages = pyo.Set(initialize=(['storage_1', 'storage_2'])) model.var_1 = pyo.Var(model.T, model.Generators, domain=pyo.NonNegativeReals) model.var_2 = py
6 2023-11-13
编程技术问答社区
一个保留了插入顺序的C++哈希图
我有以下代码: #include #include "boost/unordered_map.hpp" using namespace std; using namespace boost; int main() { typedef unordered_map Map; typedef Map::const_iterator It; Map m; m[11] = 0; m[0] = 1; m[21] = 2; for (It it (m.begin()); it!=m.end(); ++it) cout first second
4 2023-11-09
编程技术问答社区
pandas:转换多索引数据框架的索引类型
嗨,有一个多索引数据框: tuples = [('YTA_Q3', 1), ('YTA_Q3', 2), ('YTA_Q3', 3), ('YTA_Q3', 4), ('YTA_Q3', 99), ('YTA_Q3', 96)] # Index index = pd.MultiIndex.from_tuples(tuples, names=['Questions', 'Values']) # Columns columns = pd.MultiIndex.from_tuples([('YTA_Q3', '@')], names=['Questions', 'Values']) # Data data = [29.014949,5.0260590000000001, 6.6269119999999999, 1.3565260000000001, 41.632221999999999, 21.279499999999999] df1 = pd.DataFrame(da
4 2023-10-30
编程技术问答社区
在pandas中使用图元作为索引键时,如何 "通过传入一个类别参数明确指定类别顺序"?
我一直在尝试弄清楚如何在pandas中制作这些元组索引键,但是我遇到了一个错误. 如何使用下面的pd.Categorical中的错误中的建议来解决此错误? 我知道我可以转换为字符串,但我很好奇地看到错误消息中的建议是什么? 当我使用0.22.0运行它时,这很好.我已经打开了一个我想更新熊猫并适当处理此问题. 使用当前的熊猫0.23.4:运行此操作: import sys; sys.version # '3.6.4 |Anaconda, Inc.| (default, Jan 16 2018, 12:04:33) \n[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)]' import pandas as pd; pd.__version__ # '0.23.4' index = [(('criterion', 'gini'), ('max_features', 'log2'), ('min_sampl
8 2023-10-27
编程技术问答社区
在pandas中改变日期-时间列的时区,并将其作为分级索引添加。
我有UTC中带有时间戳记的数据.我想将此时间戳的时区转换为"我们/太平洋",并将其作为层次索引添加到pandas dataframe.我已经能够将时间戳转换为索引,但是当我尝试将其添加到数据框中时,它会丢失时区格式,无论是列或索引. >>> import pandas as pd >>> dat = pd.DataFrame({'label':['a', 'a', 'a', 'b', 'b', 'b'], 'datetime':['2011-07-19 07:00:00', '2011-07-19 08:00:00', '2011-07-19 09:00:00', '2011-07-19 07:00:00', '2011-07-19 08:00:00', '2011-07-19 09:00:00'], 'value':range(6)}) >>> dat.dtypes #datetime object #label object #value int
6 2023-10-22
编程技术问答社区
使用MultiIndex时,如何将此熊猫列类型作为DateTime?
这太奇怪了,老实说,我想知道我是否只是在误解了事情. 我有一些代码可以从DateTime值中构建多指数,但是在生成多指数之后,该类型已更改为时间戳. 我希望它留下来.我为什么要关心?好吧,代码的另一部分以与同一数据的方式略有不同的方式生成多指数(是的,我通过直接比较值检查了). 最小代码示例: import datetime import pandas as pd import numpy as np iterables = [['bar', 'baz', 'foo', 'qux'], [datetime.date(2014, 10, 3)]] columns = pd.MultiIndex.from_product(iterables) df = pd.DataFrame(np.random.randn(4, 4),columns = columns) 这给出了: >>> df.columns[0] ('bar', Timestamp('201
18 2023-10-22
编程技术问答社区
如何在Pandas中正确透视或重塑一个时间序列数据框架?
我需要重塑看起来像DF1的数据框架并将其转换为DF2.此过程有2个考虑因素: 我需要能够将要切成纪录的行数设置为参数(长度). 我需要将日期和时间与索引分开,并将日期用作列名中的日期,并将时间保留为索引. 当前DF1 2007-08-07 18:00:00 1 2007-08-08 00:00:00 2 2007-08-08 06:00:00 3 2007-08-08 12:00:00 4 2007-08-08 18:00:00 5 2007-11-02 18:00:00 6 2007-11-03 00:00:00 7 2007-11-03 06:00:00 8 2007-11-03 12:00:00 9 2007-11-03 18:00:00 10 所需的输出DF2-带有参数'长度= 5' 2007-08-07 2007-11-02 18:00:00 1
10 2023-10-21
编程技术问答社区
Pandas将时间序列数据重新取样到15分钟和45分钟--使用多指标或列
我有一些时间表数据作为PANDAS数据框架,该数据框架是在过去15分钟和过去45分钟(30分钟的时间间隔)时期的观察开始,然后将频率更改为每分钟.我想将数据重新采样,以使其具有每30分钟的正常频率,在过去的15分钟和45个时间的时间为45个. 我想到了两种实现这一目标的方法. 1.只需使用时间序列数据作为DataFrame中的列过滤到15分钟和45分钟处的所有观察结果的数据框. 2.重新设置索引,以便时间序列数据是多指数的一部分(索引的0级是气象站,第一级是观察时间的时间),并使用PANDAS DATE DATE TIME时间表诸如resample(). 之类的功能 原始数据框,天气,看起来像这样: parsed_time Pressure Temp Hum Station (index) Bow 1 2018-04-15 14:15:00 1012 20.
8 2023-10-21
编程技术问答社区
在pandas数据框架中添加一个带有MultiIndex列的字段
我已经寻找了这个问题的答案,因为它看起来很简单,但还找不到任何东西.很抱歉我错过了什么.我有熊猫版本0.10.0,我一直在尝试以下形式的数据: import pandas import numpy as np import datetime start_date = datetime.datetime(2009,3,1,6,29,59) r = pandas.date_range(start_date, periods=12) cols_1 = ['AAPL', 'AAPL', 'GOOG', 'GOOG', 'GS', 'GS'] cols_2 = ['close', 'rate', 'close', 'rate', 'close', 'rate'] dat = np.random.randn(12, 6) cols = pandas.MultiIndex.from_arrays([cols_1, cols_2], names=['ticker','field']) dftst
4 2023-10-21
编程技术问答社区
在潘达斯多重索引中重新取样
我有一些层次数据,这些数据将变成时间序列数据,看起来像这样: df = pandas.DataFrame( {'value_a': values_a, 'value_b': values_b}, index=[states, cities, dates]) df.index.names = ['State', 'City', 'Date'] df value_a value_b State City Date Georgia Atlanta 2012-01-01 0 10 2012-01-02 1 11 2012-01-03 2 12 2012
14 2023-10-21
编程技术问答社区
具有多指标的潘达斯风格的对象
我正在用Styler格式化Pandas DataFrame,以突出显示列和格式编号.我还想应用多指数,以更清晰,愉快且易于阅读.由于我将造型器应用于列的子集,因此无法与多指数一起使用. 示例: arrays = [np.hstack([['One']*2, ['Two']*2]) , ['A', 'B', 'C', 'D']] columns = pd.MultiIndex.from_arrays(arrays) data = pd.DataFrame(np.random.randn(5, 4), columns=list('ABCD')) data.columns = columns import seaborn as sns cm = sns.light_palette("green", as_cmap=True) data.style.background_gradient(cmap=cm, subset=['A']) 是否可以将列进行子集,以便造型器可以工作.
18 2023-10-05
编程技术问答社区
根据文本在两列中分割行 (Python, Pandas)
这是我的数据帧(还有更多的字母,长度为〜35.5k),在其他相关字符串的地方).所有变量都是字符串,['c1','c2']是多索引. tmp C1 C2 C3 C4 C5 Start End C8 A 1 - - - 12 14 - A 2 - - - 1,4,7 3,6,10 - A 3 - - - 16,19 17,21 - A 4 - - - 22 24 - 我需要它成为这个(分开包含维护其他所有内容的逗号的每一行): C1 C2 C3 C4 C5 Start End C8 Appearance A 1 - - -
10 2023-10-02
编程技术问答社区
Python (pandas): 在hdf5中用多索引存储一个数据帧
我需要使用多索引与大维数据框架一起工作,因此我尝试创建一个数据框架来学习如何将其存储在HDF5文件中. 数据框是这样的:(在前2列中使用多索引) Symbol Date 0 C 2014-07-21 4792 B 2014-07-21 4492 A 2014-07-21 5681 B 2014-07-21 8310 A 2014-07-21 1197 C 2014-07-21 4722 2014-07-21 7695 2014-07-21 1774 我正在使用pandas.to_hdf,但是当我尝试在组中选择数据时,它会创建"固定格式存储": store.select('table','Symbol == "A"') 它返回一些错误,主要问题是此 Type
6 2023-09-17
编程技术问答社区
潘达排序多索引透视表
给定以下枢轴表: import pandas as pd import numpy as np df = pd.DataFrame( {'YYYYMM':[201603,201503,201403,201303,201603,201503,201403,201303], 'Count':[5,6,2,7,4,7,8,9], 'Group':['A','A','A','A','B','B','B','B']}) df['YYYYMM']=df['YYYYMM'].astype(str).str[:-2].astype(np.int64) t=df.pivot_table(df,index=['Group'],columns=['YYYYMM'],aggfunc=np.sum) t Count YYYYMM 2013 2014 2015 2016 Group A
6 2023-09-07
编程技术问答社区
Pandas MultiIndex的自定义排序级别是按分类顺序,而不是按字母顺序。
我是Pandas的新手(0.16.1),并且需要在多索引中进行自定义排序,因此我使用分类. 我的多索引的一部分: Part Defect Own Кузов 504 ИП Кузов 504 Итого Кузов 504 ПС Кузов 505 ПС Кузов 506 ПС Кузов 507 ПС Кузов 530 ИП Кузов 530 Итого Кузов 530 ПС 我创建具有多索引级别的枢轴表[缺陷,自己].然后,我将"自己的"分类(请参阅问题的一部分)将其排序为[函数,пс,ÖClistim].但是,当我以"部分"为基础时,这也是基于"缺陷"级别的分类,然后用 对索引进行排序 pvt.sortlevel(0, inplace=True) "自己的"级别按字母顺序排序:[函数,函数,见].我如何在MultiIndex中自定义两个级别? p. S.我将"自己的"级别转换为分类代码:创建新
12 2023-09-07
编程技术问答社区
在Pandas中 如何根据一列的值对多指标中的一个层次进行排序,同时保持另一个层次的分组
我现在正在大学学习数据挖掘课程,但我对多索引分类问题的陷入困境. 实际数据涉及大约100万部电影的评论,我正在尝试根据美国邮政编码进行分析,但是要测试如何做我想做的事情,我一直在使用较小的数据集250个随机生成的10部电影的评分,而不是邮政编码,而是使用年龄组. 所以这就是我现在拥有的,它是熊猫中的多索引数据框架,有两个级别,"组"和" title" rating group title Alien 4.000000 Argo 2.166667 Adults Ben-Hur 3.666667 Gandhi 3.200000 ... ... Alien 3.000000 Argo
10 2023-09-07
编程技术问答社区
pandas多索引排序特定字段
我通过running Series.describe()在pandas中获得了一个多索引,用于分组的数据框架.我如何 sort modelName.mean这些系列modelName.mean,只保留sepcific字段? 这个 summary.sortlevel(1)['kappa'] 对它们进行分类,但保留了所有其他字段,例如计数.我只能只保留mean和std? 编辑 这是df. 的文本表示 kappa modelName biasTotal count 5.000000 mean 0.526183
6 2023-09-07
编程技术问答社区