我有一个函数,它返回一个这样的字典:
{'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)
不幸的是,数据帧的打印导致空数据帧.有任何想法吗?
我有一个数据框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_col值ym均为。
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)