我想在应用GROUPBY条件后取消对数据帧的分组。我一组一组地用熊猫
+------------+--------------+----------------+-----------------+
| Month | Amt_8_red_17 | Amt_8_black_29 | Amt_10_black_29 |
+------------+--------------+----------------+-----------------+
| 01-01-2018 | 0 | 12 | 18 |
| 01-02-2018 | 100 | 12 | 12 |
+------------+--------------+----------------+-----------------+
现在我想将数据解组。列名是由下划线连接的列的组合。例如:Amt\u 8\u red\u 17:列名是(Amount、Count、Color、Id)输出的样子
+------------+---------+-------+-------+----+
| Month | Amount | Count | Color | Id |
+------------+---------+-------+-------+----+
| 01-01-2018 | 0 | 8 | red | 17 |
| 01-01-2018 | 12 | 8 | black | 29 |
| 01-01-2018 | 18 | 10 | black | 29 |
| 01-02-2018 | 100 | 8 | red | 17 |
| 01-02-2018 | 12 | 8 | black | 29 |
| 01-02-2018 | 12 | 10 | black | 29 |
+------------+---------+-------+-------+----+
有没有更快的办法?
首先通过数据帧创建所有列的索引,而不使用。
。如有必要,设置索引。
然后通过str.split
创建multi-index
,并通过DataFrame重塑。取消堆叠
。
最后一次数据清理-通过第一个DataFrame.reset_index
删除第一个级别,第二个是从MultiIndex
中删除列。最后设置新列名。
df = df.set_index('Month')
df.columns = df.columns.str.split('_', expand=True)
df = df.unstack().reset_index(level=0, drop=True).reset_index()
df.columns= ['Count','Color','Id','Month','Amount']
print (df)
Count Color Id Month Amount
0 8 red 17 01-01-2018 0
1 8 red 17 01-02-2018 100
2 8 black 29 01-01-2018 12
3 8 black 29 01-02-2018 12
4 10 black 29 01-01-2018 18
5 10 black 29 01-02-2018 12
最后一列(如有必要):
df = df[['Month','Amount','Count','Color','Id']]
print (df)
Month Amount Count Color Id
0 01-01-2018 0 8 red 17
1 01-02-2018 100 8 red 17
2 01-01-2018 12 8 black 29
3 01-02-2018 12 8 black 29
4 01-01-2018 18 10 black 29
5 01-02-2018 12 10 black 29
我已经看到,这在其他类型的对话框窗口中是可能的,如“ShowConfirmDialog”,其中可以指定按钮的数量和它们的名称;但是在使用“ShowInputDialog”时是否可以实现相同的功能?我似乎在API中找不到这种类型的东西。也许我只是错过了,但任何帮助都很感激。
我正在编写一个JavaFractal Explorer,分形计算是多线程完成的。以前,我只是创建了一堆线程(系统有多少处理器内核就有多少)并将它们保存在一个数组中,但这会导致一些问题,而且不是很优雅,现在我想切换到执行器。 我需要的功能是: 用户可以随时选择要放大的分形图像的新区域,因此应该可以随时取消计算,并立即重新插入新任务 我的问题是Java ExecutorService(我使用Execu
我希望从C中的浮点数组中计算中值: FloatArray包含一个常规的C浮点数组。 我正在使用,但想知道是否有像这样的工具可以处理数据?现在,我正在制作一个副本,然后在扔掉副本之前执行。如果数据没有像这样的东西,是否有更有效的方法使用复制步骤来计算信息,从而避免潜在的额外O(n)循环?也许性能影响可以忽略不计?我的数组大小可能在20亿量级。
我们想为房间数据库构建一个过滤器,过滤器选项由用户选择。 i、 e.我们有一个带有字段(id、名称、日期、类型)的实体。用户可以按日期和/或名称过滤列表,其中包含文本和/或类型等于某个值 有办法在房间里做吗?
我有一个数据框,比如说一些投资数据。我需要根据某些条件(比如说,U类型)从这个数据帧中提取数据。有许多可用的基金类型,我只需要提取与特定基金类型匹配的数据。 funding_type有风险、种子、天使、股权等价值。我只需要数据匹配资金类型比如种子和天使 我试着跟着 这里MF1是我的数据帧。这将提供与种子基金类型相关的所有数据 我需要的条件有点像 MF1[MF1['funding_round_typ
问题内容: 我试图找到一种方法来查找数据库中的表的名称(如果存在)。我发现从sqlite cli我可以使用: 然后对于字段: 这显然在python中不起作用。有没有办法用python做到这一点,还是我应该只使用sqlite命令行? 问题答案: 您应该能够从表中访问表名称。 列名不能直接访问。获取它们的最简单方法是查询表并从查询结果中获取列名。