格式化数据框

时间:2020-04-24 18:13:30

标签: python pandas data-processing

在此之前,我只在这里发布过一次,所以请原谅我关闭格式化功能。我还要说这是一个学校项目。

无论如何,我只是在学习熊猫,数据处理和csv,并正在创建目录。我的代码应采用用户输入的文件,并按艺术家,专辑,标题,时长和流派对其进行格式化。我的问题是我需要创建一个名为print_songs的函数,该函数接受数据帧并遍历调用print_song的每一行,老实说,我不知道从哪里开始。我把下面的代码放进去了。非常感谢您对理解数据处理和熊猫的任何帮助或资源。

    def load_catalog():
        user_input = input("Please upload a file you want to read:")
        user_file = pd.read_csv(user_input)
        return user_file

    print(load_catalog())

    def print_song(Artist, Album, Title, Duration, Genre):
        print("Artist: ")
        print("Album: ")
        print("Title: ")
        print("Duration: ")
        print("Genre: ")

    def print_songs():`

2 个答案:

答案 0 :(得分:0)

dateStrings <- c("1Q2019","2Q2019","3Q2019","4Q2019","1Q2020")

lastDayOfQuarter <- function(x){
     require(lubridate)
     result <- NULL
     months <-c(3,6,9,12)
     days <- c(31,30,30,31)

     for(i in 1:length(x)) {
          qtr <- as.numeric(substr(x[i],1,1))
          result[i] <- mdy(paste(months[qtr],days[qtr],(substr(x[i],3,6)),sep="-")) 
     }
     as.Date(result)

}
lastDayOfQuarter(dateStrings)

答案 1 :(得分:0)

print_song()中,您正在访问数据框行,并通过将其名称用作索引来获取每一列。

def print_song(row):
    print("Artist: " + row["Artist"])
    print("Album: "+ row["Album"])
    print("Title: "+ row["Title"])
    print("Duration: " + row["Duration"])
    print("Genre: " + row["Genre"])

print_songs()中,您将每个数据帧行发送到print_song()

def print_songs(user_file):
    for row in user_file.rows:
        print_song(row)

只需确保像这样row["Genre"]访问时,列名是正确的。