Pandas DataFrame DataFrame.transpose()函数
Minahil Noor
2023年1月30日
-
pandas.DataFrame.transpose()
的语法 -
示例代码:
DataFrame.transpose()
-
示例代码:
DataFrame.transpose()
转置具有统一数据类型的 DataFrame -
示例代码:
DataFrame.transpose()
转置混合数据类型的DataFrame
Python Pandas DataFrame.transpose()
函数将 DataFrame
的行改为列,列改为行。换句话说,它生成一个新的 DataFrame
,它是原 DataFrame
的转置。
pandas.DataFrame.transpose()
的语法
DataFrame.transpose(*args, copy=False)
参数
*args |
这些是与 NumPy 兼容的附加关键字参数 |
copy |
它是一个布尔值。它决定 DataFrame 的值在进行转置后是否会被复制。默认情况下,它的值是 False 。 |
返回值
它返回一个转置的 DataFrame
。原有的 DataFrame
的行是返回的 DataFrame
中的列,反之亦然。
示例代码:DataFrame.transpose()
我们将在接下来的代码中实现这个功能。
import pandas as pd
dataframe=pd.DataFrame({
'Attendance':
{0: 60,
1: 100,
2: 80,
3: 78,
4: 95},
'Name':
{0: 'Olivia',
1: 'John',
2: 'Laura',
3: 'Ben',
4: 'Kevin'},
'Obtained Marks':
{0: 90,
1: 75,
2: 82,
3: 64,
4: 45}
})
print(dataframe)
示例 DataFrame
就是:
Attendance Name Obtained Marks
0 60 Olivia 90
1 100 John 75
2 80 Laura 82
3 78 Ben 64
4 95 Kevin 45
这个函数的所有参数都是可选的。如果我们在执行这个函数时不传递任何参数,那么它将产生以下输出。
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45},
}
)
dataframe1 = dataframe.transpose()
print(dataframe1)
输出:
0 1 2 3 4
Attendance 60 100 80 78 95
Name Olivia John Laura Ben Kevin
Obtained Marks 90 75 82 64 45
示例代码:DataFrame.transpose()
转置具有统一数据类型的 DataFrame
对于同质数据和混合数据类型,该函数的行为是不同的。我们将逐一分析。如果我们有一个同质类型的 DataFrame
,那么原始的和转置的 Dataframes
的数据类型是一样的。
同质数据类型的 DataFrame
如下所示
import pandas as pd
dataframe = pd.DataFrame(
{"A": {0: 6, 1: 20, 2: 80, 3: 78, 4: 95}, "B": {0: 60, 1: 50, 2: 7, 3: 67, 4: 54}}
)
print(dataframe)
我们的 DataFrame
是:
A B
0 6 60
1 20 50
2 80 7
3 78 67
4 95 54
5 98 34
要得到这个 DataFrame
的转置。
import pandas as pd
dataframe = pd.DataFrame(
{"A": {0: 6, 1: 20, 2: 80, 3: 78, 4: 95}, "B": {0: 60, 1: 50, 2: 7, 3: 67, 4: 54}}
)
dataframe1 = dataframe.transpose()
print(dataframe1)
输出:
0 1 2 3 4
A 6 20 80 78 95
B 60 50 7 67 54
现在,我们来分析一下原始的 DataFrame
和返回的 DataFrame
的数据类型。
import pandas as pd
dataframe = pd.DataFrame(
{"A": {0: 6, 1: 20, 2: 80, 3: 78, 4: 95}, "B": {0: 60, 1: 50, 2: 7, 3: 67, 4: 54}}
)
dataframe1 = dataframe.transpose()
print(dataframe.dtypes)
print(dataframe1.dtypes)
输出:
A int64
B int64
dtype: object
0 int64
1 int64
2 int64
3 int64
4 int64
dtype: object
请注意原始 DataFrame
和转置后的 DataFrame
的数据类型是一样的。
示例代码:DataFrame.transpose()
转置混合数据类型的 DataFrame
如果我们有一个混合类型的 DataFrame
,那么原始的和转置的 Dataframes
的数据类型是不同的。转置的 DataFrame
具有对象数据类型。混合数据类型的 DataFrame
如下所示
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45},
}
)
print(dataframe)
我们的 DataFrame
是:
Attendance Name Obtained Marks
0 60 Olivia 90
1 100 John 75
2 80 Laura 82
3 78 Ben 64
4 95 Kevin 45
要得到这个 DataFrame
的转置。
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45},
}
)
dataframe1 = dataframe.transpose()
print(dataframe1)
输出:
0 1 2 3 4
Attendance 60 100 80 78 95
Name Olivia John Laura Ben Kevin
Obtained Marks 90 75 82 64 45
现在,我们来分析一下原始的 DataFrame
和返回的 DataFrame
的数据类型。
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45},
}
)
dataframe1 = dataframe.transpose()
print(dataframe.dtypes)
print(dataframe1.dtypes)
输出:
Attendance int64
Name object
Obtained Marks int64
dtype: object
0 object
1 object
2 object
3 object
4 object
dtype: object
请注意,转置后的 DataFrame 的数据类型是 object
数据类型。