Python 提取Numpy列的一部分
我有一个numpy数组,看起来像这样:Python 提取Numpy列的一部分,python,pandas,numpy,Python,Pandas,Numpy,我有一个numpy数组,看起来像这样: >> print(x) +-----+-----+-----+ | 0 | 1 | 2 | |-----+-----+-----| | 1 | 1 | 2 | | 1 | 1 | 2 | | 1 | 2 | 1 | | 1 | 5 | 4 | | 1 | 7 | 4 | | 1 | 7 | 4 | | 1 | 7 | 4 | | 1 | 12
>> print(x)
+-----+-----+-----+
| 0 | 1 | 2 |
|-----+-----+-----|
| 1 | 1 | 2 |
| 1 | 1 | 2 |
| 1 | 2 | 1 |
| 1 | 5 | 4 |
| 1 | 7 | 4 |
| 1 | 7 | 4 |
| 1 | 7 | 4 |
| 1 | 12 | 1 |
我想提取列1分组中第2列的部分。之后,分组列将被转换为其自己的行,并转换为下表:
>> print(x_transformed)
+-----+-----+-----+-----+-----+
| 0 | 1 | 2 | 3 | 4 |
|-----+-----+-----+-----+-----|
| 1 | 1 | 2 | 2 | 0 |
| 1 | 2 | 1 | 0 | 0 |
| 1 | 5 | 4 | 0 | 0 |
| 1 | 7 | 4 | 4 | 4 |
| 1 | 12 | 1 | 0 | 0 |
将在没有值的位置插入0
- 例如,如果您查看第1列中的表1,其中有7个。第2列中的相应值为4,4,4。因此,在x_变换中,水平值为4,4,4
有没有一个标准的方法来做这件事?我应该看看熊猫吗?你的问题加上了“熊猫”的标签,所以这里有一个熊猫解决方案:
In [7]: df.pivot_table(index=['0','1'], columns=df.groupby(['0','1']).cumcount()+2, values='2', fill_value=0).reset_index()
Out[7]:
0 1 2 3 4
0 1 1 2 2 0
1 1 2 1 0 0
2 1 5 4 0 0
3 1 7 4 4 4
4 1 12 1 0 0
假设您有以下列:
In [8]: df.columns
Out[8]: Index(['0', '1', '2'], dtype='object')
您将问题标记为“熊猫”,因此这里有一个熊猫解决方案:
In [7]: df.pivot_table(index=['0','1'], columns=df.groupby(['0','1']).cumcount()+2, values='2', fill_value=0).reset_index()
Out[7]:
0 1 2 3 4
0 1 1 2 2 0
1 1 2 1 0 0
2 1 5 4 0 0
3 1 7 4 4 4
4 1 12 1 0 0
假设您有以下列:
In [8]: df.columns
Out[8]: Index(['0', '1', '2'], dtype='object')
您需要回答更多带有NumPy标记的问题!;)顺便说一句,新年快乐!谢谢@Divakar,我会努力的,但我还是要学很多东西!;)祝你新年快乐!!!您需要回答更多带有NumPy标记的问题!;)顺便说一句,新年快乐!谢谢@Divakar,我会努力的,但我还是要学很多东西!;)祝你新年快乐!!!