我想将嵌套字典中包含的某些数据导出到PD数据框,然后导出到Excel:
counter=0
for m in [3]:
for column, wind_speed in enumerate(wind_speeds):
for row,ti in enumerate(TIs):
if ~np.isnan(Mx_m_3[row,column]):
exec("dtb_dict.update({"+str(counter)+":{'case': '12',
'WindSpeed': wind_speed, 'TI':ti,
list_of_variables[0]:"+list_of_variables[0]+"[row,column],
list_of_variables[1]:"+list_of_variables[1]+"[row,column]}})")
counter+=1
a=pd.DataFrame.from_dict({i: dtb_dict[i]
for i in dtb_dict.keys()
for j in dtb_dict[i].keys()},
orient='index')
writer = pd.ExcelWriter('output.xlsx', engine='xlsxwriter')
我希望有一个数据框,其中列顺序为case、wind、speed、ti、变量列表[0],变量列表[1]
我得到:情况,风,速度,list_of_variables[1],list_of_variables[0], ti
有没有办法指定嵌套字典的顺序或重新排列数据帧?
谢谢
您可以轻松地为熊猫数据帧执行此操作。
假设我们从
a = pd.DataFrame({"case": list(range(10)), "wind,speed": list(range(10)), "list_of_variables[1]": list(range(10)), "list_of_variables[0]":list(range(10)), "ti": list(range(10))})
然后
a = a[["case", "wind,speed", "ti", "list_of_variables[0]", "list_of_variables[1]"]]
将按您的意愿对列进行排序。
问题内容: 我有一本字典 但是,我需要字典的顺序不同: 做这个的最好方式是什么? 问题答案: 字典 没有顺序 。因此,没有办法做到这一点。 如果您使用的是python2.7 +,则可以使用-在这种情况下,您可以使用检索项目列表,然后将其反向并从反向列表中创建一个新项: 如果您使用的是旧版python,则可以从http://code.activestate.com/recipes/576693/获得
问题内容: 我敢肯定这已经被问过了,但是我不知道确切地称呼它是什么来找到答案。 我有一个类别和子类别的表格。他们每个人都有一个ID和一个父母ID。如果是顶级类别,则父ID为0。子类别的父ID设置为其父ID。 我正在尝试编写一个SQL查询,该查询将按此顺序提供所有类别: A,a1,a2,a3,B,b1,b2,b3 这在SQL中是可能的,还是我需要使用多个查询 谢谢布拉德 问题答案: 这样的事情可能会
问题内容: 码: 打印。我不确定该方法如何确定l中关键字的顺序。但是,我希望能够以“适当”的顺序检索关键字。当然,正确的顺序将创建列表。 和这个: 问题答案: 你可以使用OrderedDict(需要Python 2.7)或更高版本。 另外,请注意,由于dict你使用进行创建的操作已经忘记了元素的顺序,因此该操作无效。相反,你想使用。 如文档中所述,对于低于python 2.7的版本,你可以使用此配
问题内容: 我正在寻找一个有序的关联数组,即有序的字典的可靠实现。我想要按键而不是插入顺序排序。 更准确地说,我正在寻找一种int-to-float(或另一种用例是string-to-float)映射结构的节省空间的实现,该结构的结构是: 有序迭代为O(n) 随机访问为O(1) 我想到的最好的方法是将字典和键列表粘合在一起,使最后一个键按等分和插入顺序排列。 还有更好的主意吗? 问题答案: “随机
我有以下模式的数据。我想所有的列都应该按字母顺序排序。我希望它在pyspark数据帧中。 下面的代码仅对外部列进行排序,而不对嵌套列进行排序。 此代码后面的模式如下所示 (因为id处有下划线,所以它首先出现) 我想要的架构如下。(甚至地址内的列也应该排序) 提前谢谢。
我有一个对象列表,需要根据特定的顺序排序。如下代码所示: 这也是当它得到排序,只有名称(“宝马”,“奥迪”,“奔驰”)的位置正在改变。我在汽车课上还有一个字段,那就是数量。数量将处于相同位置。这个职位也应该随着名字而改变。 我希望输出为,但实际输出为