我无法将两个熊猫数据帧合并在一起。我有两个字典,将它们转换成数据帧并进行转置,并且我想基于第一行标题合并两个数据帧。
我有两个字典
dict1 = defaultdict(list,
{'a': [1.9,2.0,2.0],
'b': [3.9,3.6,2.4]}
dict2 = defaultdict(list,
{'a': '3.3',
'a': '3.6'})
df2 = pd.DataFrame(dict2).transpose()
给予
0
a 3.3
b 3.6
然后我制作了第二个datframe:
df = pd.DataFrame(dict2)
#add in some other data
df.loc['mean'] = df.mean()
df.loc['SEM'] = df.sem()
df = df.transpose()
df.columns = ['t1', 't2', 't3', 'mean', 'sem']
这给出了类似的内容:
t1 t2 t3 mean sem
a 1.9 2.0 2.0 2.0 0.02
b 3.9 3.6 2.4 3.3 0.34
我想在其他字典/数据框中添加内容,以便得到类似的内容:
t1 t2 t3 mean sem NEW_COLUMN
a 1.9 2.0 2.0 2.0 0.02 3.3
b 3.9 3.6 2.4 3.3 0.34 3.6
答案 0 :(得分:2)
您可以像这样简单地设置df
的新列;
df['NEW_COLUMN'] = pd.DataFrame(dict2).transpose()
在您的OP中修正了两个输入错误,下面是工作代码;
dict1 = defaultdict(list,
{'a': [1.9,2.0,2.0],
'b': [3.9,3.6,2.4]})
dict2 = defaultdict(list,
{'a': [3.3],
'b': [3.6]})
df = pd.DataFrame(dict1)
#add in some other data
df.loc['mean'] = df.mean()
df.loc['SEM'] = df.sem()
df = df.transpose()
df.columns = ['t1', 't2', 't3', 'mean', 'sem']
df['NEW_COLUMN'] = pd.DataFrame(dict2).transpose()
此外,我建议您在上传帖子之前先进行搜索。像您一样存在大量的问答环节。