Python đổi tên biến trong vòng lặp

Khai báo biến luôn là công việc khó khăn của các lập trình viên. Và khi chương trình tăng kích thước, nỗi đau cũng tăng theo. Khi bắt đầu mã, chúng tôi cố gắng khai báo các biến có tên hợp lệ như temp, hashKey, v.v. Nhưng theo thời gian, mã của chúng ta sẽ rất lớn và chúng ta sẽ cạn kiệt khả năng tư duy để tìm một tên biến phù hợp. Sau đó, chúng tôi đặt tên cho chúng là x, y, v.v.

Vấn đề trở nên phức tạp hơn khi bạn cần khai báo động các biến trong một vòng lặp. Tôi đã nghĩ ra ba cách để làm điều này trong Python

1. Sử dụng lệnh exec

Python đổi tên biến trong vòng lặp

Trong chương trình trên, ban đầu tôi khai báo một từ điển trống và thêm các phần tử vào từ điển. Tôi đã sử dụng phương pháp nối chuỗi để khai báo các biến động như x1, x2, x3……. . Sau đó, tôi giả sử các giá trị từ vòng lặp for đến các biến động. Từ điển sẽ trông giống như

{'x0'. 0, ‘x1’. 1, ‘x2’. 2, ‘x3’. 3, ‘x4’. 4, ‘x5’. 5, ‘x6’. 6, ‘x7’. 7, ‘x8’. 8, ‘x9’. 9}

Bạn có thể tìm hiểu về từ điển tại đây. Từ điển Python

Cuối cùng, tôi lặp lại từ điển và tách các khóa thành một biến độc lập bằng lệnh exec. Lệnh exec thực thi mã Python bên trong nó. exec( f ‘ {key}={value}’) — ở đây f đại diện cho định dạng chuỗi

Python đổi tên biến trong vòng lặp

Bây giờ bạn có thể kiểm tra các biến toàn cục bằng đoạn mã trên và bạn có thể thấy rằng các khóa từ điển hiện được sao chép dưới dạng các biến toàn cục độc lập. Đầu ra sẽ như thế này. Bạn có thể thấy rõ có 10 biến được khai báo bắt đầu từ x0 đến x9

Python đổi tên biến trong vòng lặp

Ghi chú. Từ điển không thay đổi

2. Sử dụng toàn cầu()

hàm globals() trong Python trả về từ điển của bảng ký hiệu toàn cầu hiện tại. Nó không yêu cầu tham số. Nó cũng trả về các biến toàn cục được khai báo bên trong một chương trình

Bạn có thể tìm hiểu về globals() tại đây

Mã số

Python đổi tên biến trong vòng lặp

globals() là một từ điển chứa tất cả các biến toàn cục với tên biến là khóa và giá trị là giá trị của nó. Khai báo biến sử dụng toàn cầu cũng giống như khai báo sử dụng từ điển. Đầu ra giống như cái đầu tiên

3. sử dụng OOP

Một trong những tính năng tuyệt vời nhất của Python là hỗ trợ OOP (Lập trình hướng đối tượng). Chúng ta sẽ sử dụng thuộc tính tuyệt vời đó để khai báo các biến động

Mã số

Python đổi tên biến trong vòng lặp

Tôi nghĩ rằng hầu hết các bạn đã quen thuộc với các lớp và phương thức zip. Nhưng đối với những người chưa khám phá nó, bạn có thể tìm hiểu từ đây. Python zip() Python Oops Khái niệm

Trong đoạn mã trên, tôi đã khai báo động các thuộc tính của một đối tượng thay vì khai báo nó dưới dạng biến toàn cục. Thuộc tính set là một phương thức của lớp cho phép chúng ta khai báo các thuộc tính mới cho một đối tượng sau khi nó được khởi tạo chứ không phải cho cả lớp

Bạn có thể kiểm tra các thuộc tính của đối tượng bằng lệnh dưới đây

Python đổi tên biến trong vòng lặp

Cảm ơn mọi người đã đóng góp cho bài viết này. Làm cách nào bạn có thể tự động tạo các biến thông qua vòng lặp while?

Cảm ơn mọi người đã đọc

Nếu bạn muốn tôi đăng bất kỳ bài viết nào khác về bất kỳ chủ đề nào, vui lòng liên hệ với tôi trên WhatsApp +91 8870499146

Trong hướng dẫn này, bạn sẽ học cách đổi tên các cột của khung dữ liệu trong R. Điều này có thể được thực hiện dễ dàng bằng cách sử dụng hàm rename() [gói dplyr]. Cũng có thể sử dụng các hàm cơ sở R, nhưng chúng yêu cầu gõ nhiều hơn

Python đổi tên biến trong vòng lặp



nội dung

  • gói yêu cầu
  • tập dữ liệu demo
  • Đổi tên cột bằng dplyr. đổi tên()
  • Đổi tên cột với các chức năng cơ sở R
  • Bản tóm tắt

gói yêu cầu

Tải các gói

my_data <- as_tibble(iris)
my_data
4, bao gồm
my_data <- as_tibble(iris)
my_data
5

library(tidyverse)

tập dữ liệu demo

Chúng tôi sẽ sử dụng bộ dữ liệu mống mắt tích hợp R, mà chúng tôi bắt đầu bằng cách chuyển đổi thành khung dữ liệu tibble (tbl_df) để phân tích dữ liệu dễ dàng hơn

my_data <- as_tibble(iris)
my_data
## # A tibble: 150 x 5
##   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
##                                   
## 1          5.1         3.5          1.4         0.2 setosa 
## 2          4.9         3            1.4         0.2 setosa 
## 3          4.7         3.2          1.3         0.2 setosa 
## 4          4.6         3.1          1.5         0.2 setosa 
## 5          5           3.6          1.4         0.2 setosa 
## 6          5.4         3.9          1.7         0.4 setosa 
## # .. with 144 more rows

Đổi tên cột bằng dplyr. đổi tên()

Đổi tên cột Sepal. Độ dài đến sepal_length và Sepal. Chiều rộng đến sepal_width

my_data %>% 
  rename(
    sepal_length = Sepal.Length,
    sepal_width = Sepal.Width
    )
## # A tibble: 150 x 5
##   sepal_length sepal_width Petal.Length Petal.Width Species
##                                   
## 1          5.1         3.5          1.4         0.2 setosa 
## 2          4.9         3            1.4         0.2 setosa 
## 3          4.7         3.2          1.3         0.2 setosa 
## 4          4.6         3.1          1.5         0.2 setosa 
## 5          5           3.6          1.4         0.2 setosa 
## 6          5.4         3.9          1.7         0.4 setosa 
## # .. with 144 more rows

Đổi tên cột với các chức năng cơ sở R

Để đổi tên cột Sepal. Chiều dài đến sepal_length, quy trình như sau

  1. Lấy tên cột bằng tên hàm() hoặc colnames()
  2. Thay đổi tên cột trong đó tên = Sepal. Chiều dài
# get column names
colnames(my_data)
## [1] "Sepal.Length" "Sepal.Width"  "Petal.Length" "Petal.Width" 
## [5] "Species"
# Rename column where names is "Sepal.Length"
names(my_data)[names(my_data) == "Sepal.Length"] <- "sepal_length"
names(my_data)[names(my_data) == "Sepal.Width"] <- "sepal_width"
my_data
## # A tibble: 150 x 5
##   sepal_length sepal_width Petal.Length Petal.Width Species
##                                   
## 1          5.1         3.5          1.4         0.2 setosa 
## 2          4.9         3            1.4         0.2 setosa 
## 3          4.7         3.2          1.3         0.2 setosa 
## 4          4.6         3.1          1.5         0.2 setosa 
## 5          5           3.6          1.4         0.2 setosa 
## 6          5.4         3.9          1.7         0.4 setosa 
## # .. with 144 more rows

Cũng có thể đổi tên theo chỉ mục trong tên vector như sau

my_data <- as_tibble(iris)
my_data
1

Bản tóm tắt

Trong chương này, chúng tôi mô tả cách đổi tên các cột khung dữ liệu bằng hàm rename()[trong gói dplyr]



Đề xuất cho bạn

Phần này chứa các tài nguyên khoa học dữ liệu và phát triển bản thân tốt nhất để giúp bạn trên con đường của mình

Coursera - Các khóa học và chuyên môn trực tuyến

Khoa học dữ liệu

  • Khóa học. Học máy. Nắm vững các nguyên tắc cơ bản của Stanford
  • chuyên ngành. Khoa học dữ liệu của Đại học Johns Hopkins
  • chuyên ngành. Python cho mọi người của Đại học Michigan
  • khóa học. Xây dựng kỹ năng cho công việc hàng đầu trong bất kỳ ngành nào của Coursera
  • chuyên ngành. Nắm vững các nguyên tắc cơ bản về học máy của Đại học Washington
  • chuyên ngành. Thống kê với R của Đại học Duke
  • chuyên ngành. Phát triển phần mềm trong R của Đại học Johns Hopkins
  • chuyên ngành. Khoa học dữ liệu bộ gen của Đại học Johns Hopkins

Các khóa học phổ biến ra mắt vào năm 2020

  • Tự động hóa CNTT của Google với Python của Google
  • AI cho Y học bằng cách học sâu. ai
  • Dịch tễ học trong Thực hành Y tế Công cộng của Đại học Johns Hopkins
  • Nguyên tắc cơ bản về AWS của Amazon Web Services

Các khóa học thịnh hành

  • Khoa học về Hạnh phúc của Đại học Yale
  • Google IT Support Professional của Google
  • Python cho mọi người của Đại học Michigan
  • Chứng chỉ Chuyên gia Khoa học Dữ liệu IBM của IBM
  • Nền tảng kinh doanh của Đại học Pennsylvania
  • Giới thiệu về Tâm lý học của Đại học Yale
  • Kỹ năng Excel cho doanh nghiệp của Đại học Macquarie
  • Sơ cứu tâm lý của Đại học Johns Hopkins
  • Thiết kế đồ họa bởi Cal Arts

FBA Amazon

Máy bán hàng tuyệt vời

  • Đào tạo miễn phí - Cách xây dựng doanh nghiệp Amazon FBA 7 con số mà bạn có thể điều hành 100% tại nhà và xây dựng cuộc sống mơ ước của mình. bởi ASM

Sách - Khoa học dữ liệu

sách của chúng tôi

  • Hướng dẫn thực hành về phân tích cụm trong R by A. Kassambara (Datanovia)
  • Hướng dẫn thực hành về các phương thức thành phần chính trong R của A. Kassambara (Datanovia)
  • Cơ bản về máy học. Hướng dẫn thực hành trong R by A. Kassambara (Datanovia)
  • R Graphics Essentials for Great Data Visualization của A. Kassambara (Datanovia)
  • GGPlot2 Essentials để trực quan hóa dữ liệu tuyệt vời trong R by A. Kassambara (Datanovia)
  • Phân tích và trực quan hóa mạng trong R by A. Kassambara (Datanovia)
  • Thống kê thực tế trong R để so sánh các nhóm. Biến số theo A. Kassambara (Datanovia)
  • Yếu tố cần thiết về độ tin cậy giữa các xếp hạng. Hướng dẫn thực hành trong R by A. Kassambara (Datanovia)

Khác

  • R cho Khoa học dữ liệu. Dữ liệu Nhập, Ngăn nắp, Chuyển đổi, Trực quan hóa và Mô hình của Hadley Wickham & Garrett Grolemund
  • Học máy thực hành với Scikit-Learn, Keras và TensorFlow. Khái niệm, Công cụ và Kỹ thuật để Xây dựng Hệ thống Thông minh của Aurelien Géron
  • Thống kê thực tế cho các nhà khoa học dữ liệu. 50 khái niệm cơ bản của Peter Bruce & Andrew Bruce
  • Lập trình thực hành với R. Viết các hàm và mô phỏng của riêng bạn bởi Garrett Grolemund và Hadley Wickham
  • Giới thiệu về học thống kê. với Ứng dụng trong R của Gareth James và cộng sự
  • Học sâu với R của François Chollet & J. J. Allaire
  • Học sâu với Python của François Chollet

Sắp xếp lại các hàng của khung dữ liệu trong R (Bài học trước)

(Bài học tiếp theo) Tính toán và thêm biến mới vào khung dữ liệu trong R

Quay lại Thao tác dữ liệu trong R

Bình luận ( 15 )

  • Python đổi tên biến trong vòng lặp

    suhani

    01 Th02 2019

    Tôi nên làm gì nếu tôi muốn đổi setosa thành Setosa

    Đáp lại

    • Python đổi tên biến trong vòng lặp

      Kassambara

      01 Th02 2019

      Có thể sử dụng hàm mutate() như sau

      my_data <- as_tibble(iris)
      my_data
      0

      Đáp lại

      • Python đổi tên biến trong vòng lặp

        Norman Munyengwa

        23 Tháng năm 2019

        Làm cách nào để thêm chữ “V” vào tên hàng trong R. Ví dụ mã tên hàng là 1023, 1024, 1025 mình muốn đổi thành V1023, V1024, V2025

        Cảm ơn bạn

        Đáp lại

        • Python đổi tên biến trong vòng lặp

          Sala Lotfi

          02 Tháng năm 2020

          Điều này có thể giúp ích cho bạn...Kan đã mô tả điều này rất hay.
          https. //Blog. thám hiểm. io/selecting-columns-809bdd1ef615

          df %>%
          select(-starts_with(“người dùng. ”), -starts_with(“cột mốc. ”),
          -starts_with(“pull_”), -ends_with(“url”)) %>%
          đổi tên(nhà phát triển = người được chuyển nhượng. login) %>%
          select(-starts_with(“người được giao”), -title, -comments, -locked, -labels, -id, -body)

          Đáp lại

  • Kassambara

    23 Tháng năm 2019

    Bạn có thể tiến hành như sau

    my_data <- as_tibble(iris)
    my_data
    1

    Đáp lại

  • Python đổi tên biến trong vòng lặp

    Anil Kumar

    31 Tháng năm 2019

    Nếu tôi có dữ liệu khá lớn, giả sử hơn 200 cột?

    Đáp lại

    • Kassambara

      31 Tháng năm 2019

      Các chức năng được mô tả ở đây vẫn hoạt động, ngay cả khi bạn có nhiều cột

      Đáp lại

      • Python đổi tên biến trong vòng lặp

        Thomas

        07 Thg 08 2019

        Chào Kasamabara,

        Có vẻ như bạn thực sự hiểu rõ về cách đổi tên các cột và tôi đang gặp khó khăn với việc viết mã có thể đổi tên các cột dựa trên tên của chúng. Tôi có nhiều tập dữ liệu khác nhau trong đó một số cột sẽ bắt đầu bằng “alt” (e. g. thay thế1. giá, thay thế1. pol, alt1. x, thay thế2. giá, alt2. pol, alt2. x) và tôi muốn đổi tên các cột này thành price_1, pol_1, x_1, price_2, pol_2, x_3

        Về cơ bản, tôi muốn chọn các cột bắt đầu bằng alt, thêm dấu gạch dưới, xóa 'alt' và di chuyển số đến cuối tên cột. Điều đó có thể xảy ra theo bất kỳ cách nào không?

        Trân trọng, Thomas

        Đáp lại

        • Kassambara

          08 Thg 08 2019

          Chào Thomas,

          bạn cần thực hiện một số thao tác với chuỗi như hình bên dưới

          my_data <- as_tibble(iris)
          my_data
          2

          Đáp lại

          • Thomas

            08 Thg 08 2019

            Kassambara – bạn là một anh hùng. Cảm ơn một triệu cho câu trả lời cực kỳ chi tiết của bạn. Tôi đã hy vọng nhận được một số gợi ý và nhận được mã đầy đủ - được đánh giá cao.
            /T

          • Python đổi tên biến trong vòng lặp

            Môsê

            28 Thg 8 2019

            bạn thật tốt

  • Python đổi tên biến trong vòng lặp

    Felix Kennith Chan

    15 Th06 2019

    Nếu tôi có một tập dữ liệu lớn với hơn 200 cột?
    có cách nào để tôi không thực hiện từng cột một theo cách thủ công không?

    Cảm ơn

    Đáp lại

    • Kassambara

      15 Th06 2019

      Bạn cũng có thể đi như sau

      my_data <- as_tibble(iris)
      my_data
      3

      Đáp lại

      • Felix Kennith Chan

        16 Th06 2019

        Có cách nào để tôi không làm c(“newname1”, “newname2”, “newname3”, … , “newname200”) không?

        Đáp lại

  • Python đổi tên biến trong vòng lặp

    Abdoulaye Sarr

    16 Thg 12 2019

    Tôi có một ma trận với dữ liệu cột là năm là ngày nhưng khi sử dụng là. Ngày nó mong đợi điều gì đó %y%m%d làm cách nào để đổi tên cột thành %Y chỉ là ngày chứ không phải ký tự?
    ví dụ 2001-01-01 đổi tên thành 2001

    Đáp lại

Đưa ra một bình luận Hủy trả lời

Bạn muốn gửi một vấn đề với R? . Cách bao gồm các ví dụ tập lệnh R có thể tái tạo trong Datanovia Nhận xét

Bạn có thể thay đổi biến trong vòng lặp while Python không?

Không giống như câu lệnh if, điều kiện trong vòng lặp while cuối cùng phải trở thành Sai. Nếu điều này không xảy ra, vòng lặp while sẽ tiếp tục mãi mãi. Cách tốt nhất để làm cho điều kiện thay đổi từ Đúng thành Sai là sử dụng một biến như một phần của biểu thức Boolean. Sau đó, chúng ta có thể thay đổi biến bên trong vòng lặp while .

Tôi có thể sử dụng một biến trong for

Một vòng lặp for trong Python có hai thành phần. Một thùng chứa, trình tự hoặc trình tạo chứa hoặc tạo ra các phần tử được lặp lại. Nói chung, bất kỳ đối tượng nào hỗ trợ giao thức lặp của Python đều có thể được sử dụng trong vòng lặp for. Biến chứa từng phần tử từ vùng chứa/trình tự/trình tạo .

Bạn có thể gán một biến cho một for

Thường thì biến điều khiển vòng lặp for chỉ cần thiết cho mục đích của vòng lặp và không được sử dụng ở nơi khác. Trong trường hợp này, có thể khai báo biến bên trong phần khởi tạo của for .

Bạn có thể tăng tên biến trong Python không?

Ngoài ra, tên biến dài hơn được cho phép trong Python, vì vậy các phép gán như red = 13 và _typ = 'red' cũng hợp lệ. Để tăng giá trị của một biến, nhập biến theo sau là "+=", sau đó nhập số tiền bạn muốn thêm , Ví dụ:. x += 1. Nếu giá trị của "x" ban đầu là 5, giá trị mới bây giờ sẽ là 6.