向pandas dataframe添加新列时出错

时间:2018-06-02 05:40:10

标签: python pandas

我正在尝试修改文件夹中的.csv文件。这些文件包含2011-2016的航班信息。

但是,在值中找不到年份信息。

我想通过使用包含年份的.csv文件的文件名来解决这个问题。在将其读入熊猫数据框后,我将添加一个新的“年份”专栏。然后,我将修改后的文件导出到新的.csv,只有年份作为文件名。

但是,我遇到了这个错误:

ValueError:值的长度与索引的长度不匹配

以下代码供您参考。

import pandas as pd
import glob
import re
import os

path = r'data_caap/'                   
all_files = glob.glob(os.path.join(path, "*.csv"))


for f in all_files:
    df = pd.read_csv(f)
    year= re.findall(r'\d{4}', f)

    #Error here
    df['year']=year
    #Error here

    df.to_csv(year)

1 个答案:

答案 0 :(得分:1)

找到错误的原因。

  

必须是df ['year'] =年[0]。 findall返回一个列表。 - DyZ

非常感谢@Dyz