Python镜像数据

2024-05-19 11:04:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据集,有XYZ坐标值和每个XYZ坐标的标量值。我想在YZ平面上镜像,然后在XY平面上镜像。你知道吗

我能够做到这一点,通过手动将所有内容读入一个列表或numpy数组,为每个镜像创建一个新数组。然而,这是没有效率的。想知道是否可以使用熊猫,或者是否有其他的图书馆,这是有用的完成这项工作。你知道吗

举个例子,如果我有一个如下的数据集

Scalar X Y Z

123    1 1 1 

在csv或excel中,我的结果应如下所示:

Scalar  X Y  Z
123     1 1  1
123    -1 1  1
123    -1 1 -1
123     1 1 -1

Tags: 数据numpy内容列表镜像数组手动平面
1条回答
网友
1楼 · 发布于 2024-05-19 11:04:10

如果您有一个数据帧(据我所知),您可以append(多次)修改数据帧的副本,每次使用df.assign更改您选择的一列或多列:

df = pd.DataFrame({'scalar': [123] * 3, 'sym': 'None',
                   'x': np.ones(3), 'y': np.ones(3),'z': np.ones(3)})
df.head()
>>scalar    sym     x   y   z
0   123     None    1.0     1.0     1.0
1   123     None    1.0     1.0     1.0
2   123     None    1.0     1.0     1.0

df.append(df.assign(x=-df['x'], sym='yz')).append(df.assign(y=-df['y'], sym='xz'))

>>  scalar  sym     x   y   z
0   123     None    1.0     1.0     1.0
1   123     None    1.0     1.0     1.0
2   123     None    1.0     1.0     1.0
0   123     yz  -1.0    1.0     1.0
1   123     yz  -1.0    1.0     1.0
2   123     yz  -1.0    1.0     1.0
0   123     xz  1.0     -1.0    1.0
1   123     xz  1.0     -1.0    1.0
2   123     xz  1.0     -1.0    1.0

相关问题 更多 >

    热门问题