我有几个CSV文件,我将其读取为数据框。我需要创建一个数据框,其中包含来自CSV文件的所有这些数据,并带有适当的列名称。
我找到了此解决方案:
import pandas as pd
import glob
path = r'F:\\df_freeq_new_mostfreqpart\\' # use your path
all_files = glob.glob(path + "/*.csv")
li = []
for filename in all_files:
df = pd.read_csv(filename, sep = ";", index_col=None, usecols =
['Unnamed: 0','counter_routes', 'percent_availability'])
df.rename( columns={'Unnamed: 0':'meters'}, inplace=True )
df = df[df.counter_routes>0]
li.append(df)
frame = pd.concat(li, axis=1, ignore_index=True)
并且我收到了包含所有数据的数据框,但是我不知道如何设置列的名称而不是数字:1,2,3。我要实现以下目标:列的原始名称+原始CSV文件名称中的数字。CSV文件名称的示例:
"dfFrequeny100_56"
对于此文件,我需要具有类似以下的列:
'counter_routes_56', 'percent_availability_56'
我将不胜感激。
我相信您需要_
之后的值并进行拆分,并按+=
添加到原始列名称:
for filename in all_files:
df = pd.read_csv(filename, sep = ";", index_col=None, usecols =
['Unnamed: 0','counter_routes', 'percent_availability'])
df.rename( columns={'Unnamed: 0':'meters'}, inplace=True )
df.columns += '_' + filename.split('_')[1].split('.')[0]
df = df[df.counter_routes>0]
li.append(df)