代码之家  ›  专栏  ›  技术社区  ›  MTT

不创建应该创建的csv文件

  •  2
  • MTT  · 技术社区  · 8 年前

    我想要一个类似这样的csv文件:

    index,Basic Mechanics,Basic Thermodynamics,Calculus I,Calculus II,Chemistry I,Chemistry II,Engineering Drawing,Fundamentals of Informatics,Geometry,Linear Algebra
    ATTEMPTS,1.416,1.404,1.421,1.347,1.305,1.246,1.261,1.456,1.325,1.385
    

    我有以下代码:

    attempts=pd.read_csv("attempts.csv",sep=',', delimiter=None, header='infer')
    a2=attempts[(attempts["HSCHOOL"]=="hs1")]
    df=a2[["Subject","ATTEMPTS"]]
    def subjects_hs(df):
        df=df.pivot_table(columns="Subject",values="ATTEMPTS")
        df=df.reset_index()
        df=df.round(decimals=3)
        df.to_csv("attempts_hs.csv",index=False)
    

    其中attempts.csv如下所示:

    AC_YEAR,HSCHOOL,Subject,ATTEMPTS
    2010,hs1,Linear Algebra,2
    2010,hs1,Calculus I,1
    2010,hs1,Basic Mechanics,2
    2010,hs1,Chemistry I,2
    2010,hs3,Fundamentals of Informatics,2
    2010,hs2,Calculus II,1
    2010,hs1,Basic Thermodynamics,1
    2010,hs3,Linear Algebra,1
    2010,hs3,Calculus I,1
    2010,hs2,Basic Mechanics,1
    2010,hs2,Chemistry I,1
    2010,hs2,Fundamentals of Informatics,1
    

    相反,我得到了以下文件:

    Subject,ATTEMPTS
    Basic Mechanics,1.545
    Basic Thermodynamics,1.667
    Calculus I,1.545
    Calculus II,1.545
    Chemistry I,1.667
    Chemistry II,1.4
    Engineering Drawing,1.692
    Fundamentals of Informatics,2.0
    Geometry,1.583
    Linear Algebra,1.5
    

    这不是我要找的格式(我要一行中的所有内容!).当我通常在python中尝试它时,它是有效的,但在pythonnany中却没有…知道吗?谢谢!

    1 回复  |  直到 8 年前
        1
  •  2
  •   Clement H.    8 年前

    attempts=pd.read_csv("attempts.csv",sep=',', delimiter=None, header='infer')
    a2=attempts[(attempts["HSCHOOL"]=="hs1")]
    df=a2[["Subject","ATTEMPTS"]]
    def subjects_hs(df):
        df=df.pivot_table(columns="Subject",values=["ATTEMPTS"])
        df=df.reset_index()
        df=df.round(decimals=3)
        df.to_csv("attempts_hs.csv",index=False)
    

    Pivot_表在其“values”参数为列表时提供预期行为。

    values="ATTEMPTS" 具有 values=["ATTEMPTS"]