pandas dataframe,将index_col设置为my csv nam

2024-09-26 22:43:24 发布

您现在位置:Python中文网/ 问答频道 /正文

关于使用pd.read_csv文件 我目前正在建立一个数据帧从多个csv文件从一个文件夹和 csv文件的名称如下:“C2_u1979h”或“C2_1999Z”

我要创建我的数据帧的CSV文件名。 我还没有找到一个办法。这是我当前的代码

我的数据框如下所示:

    Date     Open    High     Low   Close     Vol  OI  Roll
0   19780106  236.00  237.50  234.50  235.50    0   0     0
1   19780113  235.50  239.00  235.00  238.25    0   0     0
2   19780120  238.00  239.00  234.50  237.00    0   0     0
3   19780127  237.00  238.50  235.50  236.00    0   0     0

我希望它看起来像这样

^{pr2}$

Tags: 文件csv数据代码文件夹名称readdate
2条回答

它起作用了。在

import os

df_temp = pd.DataFrame({'Close': [235.5, 238.25, 237.0, 236.0],
 'Date': [19780106, 19780113, 19780120, 19780127],
 'High': [237.5, 239.0, 239.0, 238.5],
 'Low': [234.5, 235.0, 234.5, 235.5],
 'OI': [0, 0, 0, 0],
 'Open': [236.0, 235.5, 238.0, 237.0],
 'Roll': [0, 0, 0, 0],
 'Vol': [0, 0, 0, 0]})

df = pd.DataFrame()

# To simulate several df
x=0
for file_ in ['the_path/C2__1979N.csv', 'other_path/C2__1979H.csv']:
    filename, file_extension = os.path.splitext(file_)
    df_temp['name'] = os.path.basename(filename)
    df = df.append(df_temp.loc[x:x+1,:])
    x+=1

df.set_index('name', inplace=True)
df.index.name = None
print(df)

# Result
            Close      Date   High    Low  OI   Open  Roll  Vol
C2__1979N  235.50  19780106  237.5  234.5   0  236.0     0    0
C2__1979N  238.25  19780113  239.0  235.0   0  235.5     0    0
C2__1979H  237.00  19780120  239.0  234.5   0  238.0     0    0
C2__1979H  236.00  19780127  238.5  235.5   0  237.0     0    0

在原始代码中:

^{pr2}$

你试过明显的那个吗?在

df_temp.index = [file_]*len(df_temp)

相关问题 更多 >

    热门问题