使用pandas实现行列转换
时间: 2023-05-21 22:00:42 浏览: 125
可以使用pandas中的transpose()函数实现行列转换,例如:
import pandas as pd
# 创建一个DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
# 使用transpose()函数进行行列转换
df_transposed = df.transpose()
print(df)
print(df_transposed)
输出结果为:
A B C
0 1 4 7
1 2 5 8
2 3 6 9
0 1 2
A 1 2 3
B 4 5 6
C 7 8 9
相关问题
pandas 行列转换
您好!要将 Pandas DataFrame 的行列进行转换,您可以使用 `transpose()` 方法来实现。这个方法会将行和列进行互换。以下是使用示例:
```python
import pandas as pd
# 创建示例 DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
# 转换行列
transposed_df = df.transpose()
print(transposed_df)
```
这将输出如下结果:
```
0 1 2
A 1 2 3
B 4 5 6
```
在转换后的 DataFrame 中,原来的行变成了列,原来的列变成了行。希望这能帮到您!如果您还有其他问题,请随时提问。
pandas行列转换
我们可以使用 pandas 中的 `pivot` 和 `melt` 函数来进行行列转换。
假设我们有以下的数据集:
```
+------+--------+-------+
| Name | Gender | Score |
+------+--------+-------+
| Tom | Male | 85 |
+------+--------+-------+
| Amy | Female | 90 |
+------+--------+-------+
| Jim | Male | 75 |
+------+--------+-------+
| Kim | Female | 80 |
+------+--------+-------+
```
我们想要将 `Gender` 列作为行索引,将 `Name` 列作为列索引,将 `Score` 列的值填充到新的表格中。那么我们可以使用 `pivot` 函数来实现:
```python
import pandas as pd
data = {
'Name': ['Tom', 'Amy', 'Jim', 'Kim'],
'Gender': ['Male', 'Female', 'Male', 'Female'],
'Score': [85, 90, 75, 80]
}
df = pd.DataFrame(data)
new_df = df.pivot(index='Gender', columns='Name', values='Score')
```
得到的新表格如下:
```
+--------+------+-----+-----+-----+
| Gender | Amy | Jim | Kim | Tom |
+--------+------+-----+-----+-----+
| Female | 90 | 0 | 80 | 0 |
+--------+------+-----+-----+-----+
| Male | 0 | 75 | 0 | 85 |
+--------+------+-----+-----+-----+
```
如果我们想要将列索引转换成行索引,那么我们可以使用 `melt` 函数来实现:
```python
new_df = new_df.reset_index()
melt_df = pd.melt(new_df, id_vars=['Gender'], var_name='Name', value_name='Score')
melt_df = melt_df[melt_df['Score'] != 0].reset_index(drop=True)
```
得到的新表格如下:
```
+--------+------+-------+
| Gender | Name | Score |
+--------+------+-------+
| Female | Amy | 90 |
+--------+------+-------+
| Female | Kim | 80 |
+--------+------+-------+
| Male | Jim | 75 |
+--------+------+-------+
| Male | Tom | 85 |
+--------+------+-------+
```
以上就是 pandas 行列转换的方法。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)