Python 将数据和头添加到新的数据框中,并将文件名填入列中

Python 将数据和头添加到新的数据框中,并将文件名填入列中,python,pandas,dataframe,Python,Pandas,Dataframe,我有以下格式的数据帧: fdate flag counter values 0 2008-08-18 0 0 1119881.78 1 2008-08-18 0 1 1922320.74 2 2008-08-18 0 2 3559026.11 3 2008-

我有以下格式的数据帧:

         fdate          flag     counter      values
0        2008-08-18     0        0            1119881.78
1        2008-08-18     0        1            1922320.74
2        2008-08-18     0        2            3559026.11
3        2008-08-18     0        3            3510447.61
4        2008-08-18     0        4            4873269.42
5        2008-08-18     0        5            5098557.55
6        2008-08-18     0        6            4610888.45
...
800      2008-08-18     0      999           -2177130.73
我想用下面定义的空列标题扩展它。不知何故,我收到了两列
fdate标志计数器值
。如何删除这些双栏?使用以下命令将删除我添加的所有列
df.T.drop_duplicates().T

如何在整列的
Group1
列中添加任何数字,例如20

代码如下所示:

import pandas as pd

df = pd.read_csv('C:/File_Workers1_Office_01M.txt',sep=',')

df.columns = ['fdate', 'flag', 'counter', 'values']

print(df)

df_new = df.reindex(columns=[*df.columns.tolist(), 'mem1', 'mem2',  'name_file', 'Group1', 'meth', 'fdate', 'counter', 'values', 'timevalue', 'flag', 'config', 'country', 'value_date'], fill_value=0)

print(df_new)

要添加一个新列,例如
Group1
,作为所有行都具有值
20
的列,您可以通过一个简单的赋值来完成:

import pandas as pd

df = pd.DataFrame({'fdate': ['2008-08-18','2008-08-18','2008-08-18','2008-08-18'],
                'flag': [0, 0, 0, 0],
                'counter': [0, 1, 2, 3],
                'values': [103, 1422, 12312, 112]})

df['Group1'] = 20
收益率:

        fdate  flag  counter  values  Group1
0  2008-08-18     0        0     103      20
1  2008-08-18     0        1    1422      20
2  2008-08-18     0        2   12312      20
3  2008-08-18     0        3     112      20
        fdate  flag  counter  values  Group1  Empty
0  2008-08-18     0        0     103      20    NaN
1  2008-08-18     0        1    1422      20    NaN
2  2008-08-18     0        2   12312      20    NaN
3  2008-08-18     0        3     112      20    NaN
您可以对添加空列执行相同的操作,但是我不完全确定分配空列的目的:

import numpy as np

df['Empty'] = np.nan
收益率:

        fdate  flag  counter  values  Group1
0  2008-08-18     0        0     103      20
1  2008-08-18     0        1    1422      20
2  2008-08-18     0        2   12312      20
3  2008-08-18     0        3     112      20
        fdate  flag  counter  values  Group1  Empty
0  2008-08-18     0        0     103      20    NaN
1  2008-08-18     0        1    1422      20    NaN
2  2008-08-18     0        2   12312      20    NaN
3  2008-08-18     0        3     112      20    NaN

谢谢,这就是我要找的