Hướng dẫn rows into columns in python - hàng thành cột trong python

Vì vậy, bộ dữ liệu của tôi có một số thông tin theo ngày kinh doanh n ngày dưới đây:

Business    Date    Value
a         1/1/2017   127
a         2/1/2017   89
b         2/1/2017   122
a         1/1/2018   555
a         2/1/2018   455

Tôi cần dữ liệu này như định dạng dưới đây: Làm thế nào tôi có thể xử lý nó. Và tôi không muốn đa cấp trong bộ dữ liệu đầu ra của mình

Business    1/1/2017  2/1/2017 1/1/2018  2/1/2018
 a           127         89     555        455
 b           N/A        122      N/A       N/A

Tôi đã thử dưới đây cú pháp:

df = df.set_index[['Business','Date']]['Value'].unstack[]
df=df.pivot[index='Business', columns='Date', values='Value']

Tôi có đầu ra như dưới đây:

Date    1/1/2017    2/1/2017    1/1/2018    2/1/2018
Business
 a        454         5555        555         444 
 b        -            444         -           -

Khi tôi in các cột, nó không hiển thị lob dưới dạng cột. DataFrame cuối cùng của tôi cũng nên bao gồm các trường kinh doanh, ngày làm cột để tôi có thể tham gia DataFrame này với một DataFrame khác trên doanh nghiệp

Sử dụng thuộc tính

Business    1/1/2017  2/1/2017 1/1/2018  2/1/2018
 a           127         89     555        455
 b           N/A        122      N/A       N/A
4 hoặc phương thức
Business    1/1/2017  2/1/2017 1/1/2018  2/1/2018
 a           127         89     555        455
 b           N/A        122      N/A       N/A
5 để hoán đổi [= chuyển vị] các hàng và cột của
Business    1/1/2017  2/1/2017 1/1/2018  2/1/2018
 a           127         89     555        455
 b           N/A        122      N/A       N/A
6.

Cả hai phương thức đều không thay đổi đối tượng gốc nhưng trả về một đối tượng mới với các hàng và cột hoán đổi [= đối tượng chuyển vị].

Lưu ý rằng tùy thuộc vào loại dữ liệu

Business    1/1/2017  2/1/2017 1/1/2018  2/1/2018
 a           127         89     555        455
 b           N/A        122      N/A       N/A
7 của mỗi cột, chế độ xem được tạo thay vì một bản sao và thay đổi một trong các đối tượng gốc và được chuyển sẽ thay đổi khác.

Bài viết này mô tả các nội dung sau đây.

  • Business    1/1/2017  2/1/2017 1/1/2018  2/1/2018
     a           127         89     555        455
     b           N/A        122      N/A       N/A
    
    8
  • Business    1/1/2017  2/1/2017 1/1/2018  2/1/2018
     a           127         89     555        455
     b           N/A        122      N/A       N/A
    
    9
  • Thay đổi chính đối tượng ban đầu
  • Loại chuyển đổi
  • Xem và sao chép

Nếu tất cả các cột có cùng loại dữ liệu,

Business    1/1/2017  2/1/2017 1/1/2018  2/1/2018
 a           127         89     555        455
 b           N/A        122      N/A       N/A
4 hoặc
Business    1/1/2017  2/1/2017 1/1/2018  2/1/2018
 a           127         89     555        455
 b           N/A        122      N/A       N/A
5 trả về chế độ xem. Vì các đối tượng gốc và các đối tượng Chế độ xem chia sẻ bộ nhớ, việc thay đổi một phần tử sẽ thay đổi phần khác.

  • Business    1/1/2017  2/1/2017 1/1/2018  2/1/2018
     a           127         89     555        455
     b           N/A        122      N/A       N/A
    
    1
  • Nếu kiểu dữ liệu
    Business    1/1/2017  2/1/2017 1/1/2018  2/1/2018
     a           127         89     555        455
     b           N/A        122      N/A       N/A
    
    7 khác nhau cho mỗi cột,
    Business    1/1/2017  2/1/2017 1/1/2018  2/1/2018
     a           127         89     555        455
     b           N/A        122      N/A       N/A
    
    4 và
    Business    1/1/2017  2/1/2017 1/1/2018  2/1/2018
     a           127         89     555        455
     b           N/A        122      N/A       N/A
    
    5 sẽ tạo một bản sao. Vì đối tượng được chuyển đổi phân bổ một vùng bộ nhớ mới, nếu một khu vực được thay đổi, thì cái còn lại không thay đổi.

Business    1/1/2017  2/1/2017 1/1/2018  2/1/2018
 a           127         89     555        455
 b           N/A        122      N/A       N/A
8

  • Nếu bạn muốn xử lý riêng đối tượng gốc và đối tượng được chuyển một cách riêng biệt khi tất cả các cột có cùng loại dữ liệu: sử dụng
    import pandas as pd
    
    df = pd.DataFrame[{'X': [0, 1, 2], 'Y': [3, 4, 5]}, index=['A', 'B', 'C']]
    print[df]
    #    X  Y
    # A  0  3
    # B  1  4
    # C  2  5
    
    print[df.T]
    #    A  B  C
    # X  0  1  2
    # Y  3  4  5
    
    2 để tạo rõ ràng một bản sao với
    Business    1/1/2017  2/1/2017 1/1/2018  2/1/2018
     a           127         89     555        455
     b           N/A        122      N/A       N/A
    
    4 và đặt tham số
    import pandas as pd
    
    df = pd.DataFrame[{'X': [0, 1, 2], 'Y': [3, 4, 5]}, index=['A', 'B', 'C']]
    print[df]
    #    X  Y
    # A  0  3
    # B  1  4
    # C  2  5
    
    print[df.T]
    #    A  B  C
    # X  0  1  2
    # Y  3  4  5
    
    4 thành
    import pandas as pd
    
    df = pd.DataFrame[{'X': [0, 1, 2], 'Y': [3, 4, 5]}, index=['A', 'B', 'C']]
    print[df]
    #    X  Y
    # A  0  3
    # B  1  4
    # C  2  5
    
    print[df.T]
    #    A  B  C
    # X  0  1  2
    # Y  3  4  5
    
    5 để tạo bản sao với
    Business    1/1/2017  2/1/2017 1/1/2018  2/1/2018
     a           127         89     555        455
     b           N/A        122      N/A       N/A
    
    5.

import pandas as pd

df = pd.DataFrame[{'X': [0, 1, 2], 'Y': [3, 4, 5]}, index=['A', 'B', 'C']]
print[df]
#    X  Y
# A  0  3
# B  1  4
# C  2  5

print[df.T]
#    A  B  C
# X  0  1  2
# Y  3  4  5

Business    1/1/2017  2/1/2017 1/1/2018  2/1/2018
 a           127         89     555        455
 b           N/A        122      N/A       N/A
9

  • Business    1/1/2017  2/1/2017 1/1/2018  2/1/2018
     a           127         89     555        455
     b           N/A        122      N/A       N/A
    
    3

print[df.transpose[]]
#    A  B  C
# X  0  1  2
# Y  3  4  5

Thay đổi chính đối tượng ban đầu

Loại chuyển đổi

df = df.T
print[df]
#    A  B  C
# X  0  1  2
# Y  3  4  5

Loại chuyển đổi

Xem các bài viết sau đây để chuyển

df = df.set_index[['Business','Date']]['Value'].unstack[]
df=df.pivot[index='Business', columns='Date', values='Value']
0 hoặc
df = df.set_index[['Business','Date']]['Value'].unstack[]
df=df.pivot[index='Business', columns='Date', values='Value']
1 hai chiều [danh sách danh sách].

Numpy: Chuyển vị Ndarray [hàng và cột, trục sắp xếp lại]

df = pd.DataFrame[{'X': [0, 1, 2], 'Y': [3, 4, 5]}, index=['A', 'B', 'C']]
print[df]
#    X  Y
# A  0  3
# B  1  4
# C  2  5

print[df.dtypes]
# X    int64
# Y    int64
# dtype: object

print[df.T]
#    A  B  C
# X  0  1  2
# Y  3  4  5

print[df.T.dtypes]
# A    int64
# B    int64
# C    int64
# dtype: object

Nếu mỗi cột có một loại dữ liệu khác nhau, loại được chuyển đổi. Ví dụ: nếu một cột chứa cả số nguyên

df = df.set_index[['Business','Date']]['Value'].unstack[]
df=df.pivot[index='Business', columns='Date', values='Value']
9 và số điểm nổi
Date    1/1/2017    2/1/2017    1/1/2018    2/1/2018
Business
 a        454         5555        555         444 
 b        -            444         -           -
0, loại dữ liệu của cột là
Date    1/1/2017    2/1/2017    1/1/2018    2/1/2018
Business
 a        454         5555        555         444 
 b        -            444         -           -
0.

df_mix = pd.DataFrame[{'col_int': [0, 1, 2], 'col_float': [0.1, 0.2, 0.3]}, index=['A', 'B', 'C']]
print[df_mix]
#    col_int  col_float
# A        0        0.1
# B        1        0.2
# C        2        0.3

print[df_mix.dtypes]
# col_int        int64
# col_float    float64
# dtype: object

print[df_mix.T]
#              A    B    C
# col_int    0.0  1.0  2.0
# col_float  0.1  0.2  0.3

print[df_mix.T.dtypes]
# A    float64
# B    float64
# C    float64
# dtype: object

Nó sẽ không được khôi phục nếu nó được chuyển đổi một lần nữa. Bạn nên áp dụng

Date    1/1/2017    2/1/2017    1/1/2018    2/1/2018
Business
 a        454         5555        555         444 
 b        -            444         -           -
2 để đúc kiểu dữ liệu.

print[df_mix.T.T]
#    col_int  col_float
# A      0.0        0.1
# B      1.0        0.2
# C      2.0        0.3

print[df_mix.T.T.dtypes]
# col_int      float64
# col_float    float64
# dtype: object

Kiểu dữ liệu của một cột chứa chuỗi

Date    1/1/2017    2/1/2017    1/1/2018    2/1/2018
Business
 a        454         5555        555         444 
 b        -            444         -           -
3 là
Date    1/1/2017    2/1/2017    1/1/2018    2/1/2018
Business
 a        454         5555        555         444 
 b        -            444         -           -
4.

Business    1/1/2017  2/1/2017 1/1/2018  2/1/2018
 a           127         89     555        455
 b           N/A        122      N/A       N/A
0

Để biết thêm thông tin về các loại dữ liệu

Business    1/1/2017  2/1/2017 1/1/2018  2/1/2018
 a           127         89     555        455
 b           N/A        122      N/A       N/A
7 và
Date    1/1/2017    2/1/2017    1/1/2018    2/1/2018
Business
 a        454         5555        555         444 
 b        -            444         -           -
2, hãy xem bài viết sau.

  • Pandas: Cast DataFrame đến một DTYPE cụ thể với ASTYPE []

Xem và sao chép

Nếu tất cả các cột có cùng loại dữ liệu,

Business    1/1/2017  2/1/2017 1/1/2018  2/1/2018
 a           127         89     555        455
 b           N/A        122      N/A       N/A
4 hoặc
Business    1/1/2017  2/1/2017 1/1/2018  2/1/2018
 a           127         89     555        455
 b           N/A        122      N/A       N/A
5 trả về chế độ xem. Vì các đối tượng gốc và các đối tượng Chế độ xem chia sẻ bộ nhớ, việc thay đổi một phần tử sẽ thay đổi phần khác.

Business    1/1/2017  2/1/2017 1/1/2018  2/1/2018
 a           127         89     555        455
 b           N/A        122      N/A       N/A
1

Nếu kiểu dữ liệu

Business    1/1/2017  2/1/2017 1/1/2018  2/1/2018
 a           127         89     555        455
 b           N/A        122      N/A       N/A
7 khác nhau cho mỗi cột,
Business    1/1/2017  2/1/2017 1/1/2018  2/1/2018
 a           127         89     555        455
 b           N/A        122      N/A       N/A
4 và
Business    1/1/2017  2/1/2017 1/1/2018  2/1/2018
 a           127         89     555        455
 b           N/A        122      N/A       N/A
5 sẽ tạo một bản sao. Vì đối tượng được chuyển đổi phân bổ một vùng bộ nhớ mới, nếu một khu vực được thay đổi, thì cái còn lại không thay đổi.

Business    1/1/2017  2/1/2017 1/1/2018  2/1/2018
 a           127         89     555        455
 b           N/A        122      N/A       N/A
2

Nếu bạn muốn xử lý riêng đối tượng gốc và đối tượng được chuyển một cách riêng biệt khi tất cả các cột có cùng loại dữ liệu: sử dụng

import pandas as pd

df = pd.DataFrame[{'X': [0, 1, 2], 'Y': [3, 4, 5]}, index=['A', 'B', 'C']]
print[df]
#    X  Y
# A  0  3
# B  1  4
# C  2  5

print[df.T]
#    A  B  C
# X  0  1  2
# Y  3  4  5
2 để tạo rõ ràng một bản sao với
Business    1/1/2017  2/1/2017 1/1/2018  2/1/2018
 a           127         89     555        455
 b           N/A        122      N/A       N/A
4 và đặt tham số
import pandas as pd

df = pd.DataFrame[{'X': [0, 1, 2], 'Y': [3, 4, 5]}, index=['A', 'B', 'C']]
print[df]
#    X  Y
# A  0  3
# B  1  4
# C  2  5

print[df.T]
#    A  B  C
# X  0  1  2
# Y  3  4  5
4 thành
import pandas as pd

df = pd.DataFrame[{'X': [0, 1, 2], 'Y': [3, 4, 5]}, index=['A', 'B', 'C']]
print[df]
#    X  Y
# A  0  3
# B  1  4
# C  2  5

print[df.T]
#    A  B  C
# X  0  1  2
# Y  3  4  5
5 để tạo bản sao với
Business    1/1/2017  2/1/2017 1/1/2018  2/1/2018
 a           127         89     555        455
 b           N/A        122      N/A       N/A
5.

Business    1/1/2017  2/1/2017 1/1/2018  2/1/2018
 a           127         89     555        455
 b           N/A        122      N/A       N/A
3

Giá trị mặc định của

import pandas as pd

df = pd.DataFrame[{'X': [0, 1, 2], 'Y': [3, 4, 5]}, index=['A', 'B', 'C']]
print[df]
#    X  Y
# A  0  3
# B  1  4
# C  2  5

print[df.T]
#    A  B  C
# X  0  1  2
# Y  3  4  5
4 trong
Business    1/1/2017  2/1/2017 1/1/2018  2/1/2018
 a           127         89     555        455
 b           N/A        122      N/A       N/A
5 là
import pandas as pd

df = pd.DataFrame[{'X': [0, 1, 2], 'Y': [3, 4, 5]}, index=['A', 'B', 'C']]
print[df]
#    X  Y
# A  0  3
# B  1  4
# C  2  5

print[df.T]
#    A  B  C
# X  0  1  2
# Y  3  4  5
9, tạo ra chế độ xem thay vì một bản sao nếu có thể. Nếu loại dữ liệu
Business    1/1/2017  2/1/2017 1/1/2018  2/1/2018
 a           127         89     555        455
 b           N/A        122      N/A       N/A
7 khác nhau cho mỗi cột, như trong ví dụ trên, một bản sao được tạo ngay cả khi
print[df.transpose[]]
#    A  B  C
# X  0  1  2
# Y  3  4  5
1.

Làm cách nào để thay đổi hàng thành các cột trong Python?

Hàm chuyển vị [] được sử dụng để chuyển đổi chỉ số và cột.Phản ánh DataFrame trên đường chéo chính của nó bằng cách viết các hàng dưới dạng các cột và ngược lại. is used to transpose index and columns. Reflect the DataFrame over its main diagonal by writing rows as columns and vice-versa.

ILOC [] trong Python là gì?

Hàm ILOC [] trong Python được xác định trong mô -đun Pandas, giúp chúng tôi chọn một hàng hoặc cột cụ thể từ tập dữ liệu.Sử dụng phương thức ILOC trong Python, chúng ta có thể dễ dàng truy xuất bất kỳ giá trị cụ thể nào từ một hàng hoặc cột bằng cách sử dụng các giá trị chỉ mục.helps us select a specific row or column from the data set. Using the iloc method in python, we can easily retrieve any particular value from a row or column by using index values.

Làm thế nào để bạn chia dữ liệu thành các cột trong Python?

Chia [] gấu trúc cung cấp một phương thức để phân chia chuỗi xung quanh một dấu phân cách/dấu phân cách được truyền.Sau đó, chuỗi có thể được lưu trữ dưới dạng danh sách trong một chuỗi hoặc nó cũng có thể được sử dụng để tạo nhiều khung dữ liệu cột từ một chuỗi phân tách duy nhất. Pandas provide a method to split string around a passed separator/delimiter. After that, the string can be stored as a list in a series or it can also be used to create multiple column data frames from a single separated string.

Làm cách nào để trao đổi hàng và cột trong gấu trúc?

Để hoán đổi các hàng và cột của DataFrame trong gấu trúc, hãy sử dụng phương thức Chuyển đổi [~] của DataFrame.use the DataFrame's transpose[~] method.

Bài Viết Liên Quan

Chủ Đề