我能想到的最好的是
df = pd.DataFrame({'a':[1, 2], 'b':[3, 4]}) # see EDIT below
s = pd.Series({'s1':5, 's2':6})
for name in s.index:
df[name] = s[name]
a b s1 s2
0 1 3 5 6
1 2 4 5 6
有人可以建议更好的语法/更快的方法吗?
我的尝试:
df.merge(s)
AttributeError: 'Series' object has no attribute 'columns'
和
df.join(s)
ValueError: Other Series must have a name
编辑 发布的前两个答案突出了我的问题,所以请使用以下内容来构造df
:
df = pd.DataFrame({'a':[np.nan, 2, 3], 'b':[4, 5, 6]}, index=[3, 5, 6])
最终结果
a b s1 s2
3 NaN 4 5 6
5 2 5 5 6
6 3 6 5 6
您可以从系列中构造一个数据框,然后与该数据框合并。因此,您将数据指定为值,然后将它们乘以长度,将列设置为索引,并将left_index和right_index的参数设置为True:
In [27]:
df.merge(pd.DataFrame(data = [s.values] * len(s), columns = s.index), left_index=True, right_index=True)
Out[27]:
a b s1 s2
0 1 3 5 6
1 2 4 5 6
编辑 以下情况:要从系列中构造的df的索引使用df的索引,则可以执行以下操作:
df.merge(pd.DataFrame(data = [s.values] * len(df), columns = s.index, index=df.index), left_index=True, right_index=True)
这假定索引与长度匹配。
问题内容: 我有一个带有4列的(example-)数据框: 我现在想将B,C和D列合并/合并到新的E列,如本例所示: 我在这里发现了一个非常类似的问题,但这在A列的末尾添加了合并的列B,C和D: 感谢帮助。 问题答案: 选项1 使用和 选项2 使用分配和 选项3 最近,我喜欢第3个选项。 使用
问题内容: 我有两个对象:a 和a 。 将它们合并为单个的最佳方法是什么? 这些列在数据库中分别存储。我通过JDBC 和获得它们。 问题答案: 您可以创建两个Calendar实例。在第一个中,您初始化日期,在第二个中,时间。您可以从“时间”实例中提取时间值,并将其设置为“日期”。
如何合并GoogleAnalytics和FireBase/Crashlytics GoogleService-Info.plist? 在一个iOS项目中,我一直在使用GoogleAnalytics和Fabric。现在我正在尝试将Fabric迁移到FireBase/Crashlytics。GoogleAnalytics一直在使用GoogleService.info.plist,而且Firebase也
如何根据后端返回的数据来进行动态合并渲染,合并的关键字段为jianyanneirong和jianyanneirong1,合并要求如下图(如果jianyanneirong和jianyanneirong1值不同则进行行合并,但是jianyanneirong1值为空的情况需要进行行列合并)
将任务函数和/或组合操作组合成更大的操作,这些操作将按顺序依次执行。对于使用 series() 和 parallel() 组合操作的嵌套深度没有强制限制。 用法 const { series } = require('gulp'); function javascript(cb) { // body omitted cb(); } function css(cb) { // bod
Series是一维标记数组,能够保存任何类型的数据(整数,字符串,浮点数,python对象等)。 轴标签统称为索引。 pandas.Series 可以使用以下构造函数创建pandas系列 - pandas.Series( data, index, dtype, copy) 构造函数的参数如下 - S.No 参数和描述 1 data 数据采用各种形式,如ndarray,list,常量 2 inde