我想将数据帧的几组列融合到多个目标列中.类似于问题Python Pandas将初始列组融合到多个目标列和pandas数据帧中将多个值变量重新整形/堆叠成单独的列.但是,我需要通过列名明确地执行此操作,而不是通过索引位置.
import pandas as pd
df = pd.DataFrame([('a','b','c',1,2,3,'aa','bb','cc'), ('d', 'e', 'f', 4, 5, 6, 'dd', 'ee', 'ff')],
columns=['a_1', 'a_2', 'a_3','b_1', 'b_2', 'b_3','c_1', 'c_2', 'c_3'])
df
Run Code Online (Sandbox Code Playgroud)
原始数据帧:
id a_1 a_2 a_3 b_1 b_2 b_3 c_1 c_2 c_3
0 101 a b c 1 2 3 aa bb cc
1 102 d e f 4 5 6 dd ee ff
Run Code Online (Sandbox Code Playgroud)
目标数据帧
id a b c
0 101 a 1 aa
1 101 b 2 bb
2 101 …Run Code Online (Sandbox Code Playgroud) 我有一个包含 x,y 坐标对的元组列表。我希望将列表转换为矩阵,xy 坐标表示使用 numpy 而不使用循环的矩阵索引。
对于列表中存在的任何 xy 坐标,在相应的索引位置有一个 1,对于列表中不存在的任何值都有一个 0。
原列表:
a = [(0,0),(0,2),(0,3),(0,4),
(1,1),(1,2),(1,4),(2,2),
(3,2),(3,4), (4,4)]
a
Run Code Online (Sandbox Code Playgroud)
所需输出:维度数组 (5,5)
[
[1, 1, 0, 1, 1],
[1, 0, 0, 0, 0],
[1, 1, 1, 1, 0],
[0, 1, 0, 0, 0],
[1, 0, 0, 0, 0]
]
Run Code Online (Sandbox Code Playgroud)
类似于python - numpy 从索引列表创建 2D 掩码 + 然后从掩码数组中绘制 - 堆栈溢出但不使用 scipy。
我想在“值”列中删除零行,直到每个组的第一个非零值的索引为止。
输入
df = pd.DataFrame({'date': ['2019-01-01', '2019-01-02', '2019-01-03','2019-01-04',
'2019-01-01', '2019-01-02', '2019-01-03','2019-01-04',
'2019-01-01', '2019-01-02', '2019-01-03','2019-01-04'],
'value' : [0, 50, 100, 120, 0, 10, 0, 20, 0, 0, 10, 0],
'group': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C']
})
df
Run Code Online (Sandbox Code Playgroud)
Run Code Online (Sandbox Code Playgroud)date value group 0 2019-01-01 0 A 1 2019-01-02 50 A 2 2019-01-03 100 A 3 2019-01-04 120 A 4 2019-01-01 0 B 5 2019-01-02 10 B 6 2019-01-03 0 B 7 2019-01-04 20 B 8 2019-01-01 …