追加 CSV 文件并分配列



我正在使用Python循环浏览CSV列表(文件位置在df中(并将它们附加到一个数据帧中。该脚本即将完成,但是在尝试向每个包含来自 df 的名称引用的数据帧添加一列时,我遇到了麻烦。

我已经尝试了以下脚本的多种变体,当前脚本正确循环遍历每个 CSV,但只返回 1 个类引用而不是全部。任何这方面的帮助将不胜感激。

import pandas as pd
df = pd.read_csv('MLBPitchesvsLHH.csv') #File contains 4 columns of data - Column1=Pitch; Column2=FileName; Column3=FileLoc; Column4=Class
df.to_dict('series')
combo_df = pd.DataFrame()
for file in df.loc[ : ,"FileLoc"]: #This loop opens each file located in df
    df1 = pd.read_csv(file)  
    for pitch in df.loc[ : ,"Class"]: #This loop is supposed to add a column to df1 that includes the "Class" reference from df
        df1 = df1.assign(pitch=pitch)
    combo_df = combo_df.append(df1, ignore_index=True)
combo_df.to_csv("Pitches.csv")

根据您的描述,通过将assigndict一起使用将实现您需要的。

combo_df = pd.DataFrame()
for file in df.loc[ : ,"FileLoc"]: #This loop opens each file located in df
    df1 = pd.read_csv(file)
    df1=df1.assign(**dict(zip(df1["Class"].astype(str), df1["Class"].astype(str))))
    combo_df = combo_df.append(df1, ignore_index=True) 

combo_df = pd.DataFrame()
for file,pitch in zip(df.loc[ : ,"FileLoc"],df.loc[ : ,"Class"]): #This loop opens each file located in df
    df1 = pd.read_csv(file)
    df1=df1.assign(pitch=pitch)
    combo_df = combo_df.append(df1, ignore_index=True)
combo_df.to_csv("Pitches.csv")

最新更新