相关疑难解决方法(0)

将字典附加到数据框

我有一个函数,它返回一个这样的字典:

{'truth': 185.179993, 'day1': 197.22307753038834, 'day2': 197.26118010160317, 'day3': 197.19846975345905, 'day4': 197.1490578795196, 'day5': 197.37179265011116}
Run Code Online (Sandbox Code Playgroud)

我试图将这个字典附加到数据帧,如下所示:

output = pd.DataFrame()
output.append(dictionary, ignore_index=True)
print(output.head())
Run Code Online (Sandbox Code Playgroud)

不幸的是,数据帧的打印导致空数据帧.有任何想法吗?

python dataframe python-3.x pandas

11
推荐指数
3
解决办法
2万
查看次数

在熊猫中使用动态名称创建新的数据框,并添加新列

我有一个数据框df

 df = pd.DataFrame({'A':['-a',1,'a'], 
               'B':['a',np.nan,'c'],
               'ID':[1,2,2],
                't':[pd.tslib.Timestamp.now(),pd.tslib.Timestamp.now(),
                    np.nan]})
Run Code Online (Sandbox Code Playgroud)

添加了新列

df['YearMonth'] = df['t'].map(lambda x: 100*x.year + x.month)
Run Code Online (Sandbox Code Playgroud)

现在,我想编写一个将进行日期比较的函数或宏,创建一个新的数据框,也向数据框添加一个新列。

我这样尝试过,但似乎我做错了:

def test(df,ym):
    df_new=df
    if(ym <= df['YearMonth']):
        df_new+"_"+ym=df_new
        return df_new+"_"+ym
    df_new+"_"+ym['new_col']=ym
Run Code Online (Sandbox Code Playgroud)

现在,当我调用测试函数时,我希望创建一个名为的df_new_201612新数据框,并且此新数据框应再有一个列,该列的所有行的new_colym均为。

test(df,201612)
Run Code Online (Sandbox Code Playgroud)

新数据框的输出为:

df_new_201612

A   B   ID  t                           YearMonth   new_col
-a  a   1   2016-12-05 12:37:56.374620  201612      201612 
1   NaN 2   2016-12-05 12:37:56.374644  201208      201612 
a   c   2   nat                         nan         201612 
Run Code Online (Sandbox Code Playgroud)

python numpy pandas

0
推荐指数
1
解决办法
1万
查看次数

标签 统计

pandas ×2

python ×2

dataframe ×1

numpy ×1

python-3.x ×1