Pandas DataFrame DataFrame.transpose()函式
Minahil Noor
2023年1月30日
2020年11月7日
-
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
資料型別。