首页 > 解决方案 > 将数据和标题添加到新数据框并将文件名填充到列中

问题描述

我有以下格式的数据框:

         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 flag counter values. 如何删除这些双列?使用以下内容删除我添加的所有列df.T.drop_duplicates().T

如何将任何数字(例如 20)添加到Group1整列的列中。

代码如下所示:

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)

标签: pythonpandasdataframe

解决方案


例如,要添加一个新列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

您可以对添加空列执行相同的操作,但是我不完全确定分配空列的目的:

import numpy as np

df['Empty'] = np.nan

产量:

        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

推荐阅读