我正在寻找一种行为与T-SQL中的合并类似的方法。我有2列(列A和B)稀疏地填充在pandas数据框中。我想使用以下规则创建一个新列:
就像我提到的那样,这可以通过合并功能在MS SQL Server中完成。我还没有找到一个好的pythonic方法。是否存在?
使用Combine_first():
In [16]: df = pd.DataFrame(np.random.randint(0, 10, size=(10, 2)), columns=list('ab'))
In [17]: df.loc[::2, 'a'] = np.nan
In [18]: df
Out[18]:
a b
0 NaN 0
1 5.0 5
2 NaN 8
3 2.0 8
4 NaN 3
5 9.0 4
6 NaN 7
7 2.0 0
8 NaN 6
9 2.0 5
In [19]: df['c'] = df.a.combine_first(df.b)
In [20]: df
Out[20]:
a b c
0 NaN 0 0.0
1 5.0 5 5.0
2 NaN 8 8.0
3 2.0 8 2.0
4 NaN 3 3.0
5 9.0 4 9.0
6 NaN 7 7.0
7 2.0 0 2.0
8 NaN 6 6.0
9 2.0 5 2.0
很抱歉,我一直在做一项基本的任务,但我对python还不熟悉,所以请耐心听我说。 我试图将pandas数据框中的两个值合并到一个单独的列中。我试图将日期值与运动值结合起来。见下面的代码: 我希望最终输出包括新的列“date_sport_concat”w/串联值:
问题内容: 有很多类似的问题,但没有一个专门针对此问题。 我有一个数据帧列表,我需要使用唯一列将它们合并在一起。字段名称不同,因此concat退出了。 我可以手动使用等将每个df逐一合并,但是问题是列表中数据帧的数量随用户输入而不同。 有什么合并方法可以一次性将所有数据帧合并到一个列表中?还是某些for in loop? 我正在使用Python 2.7。 问题答案: 您可以使用函数where是数据
问题内容: 我有一个这样的熊猫数据框: 我现在想做的是获取一个包含Column1和新columnA的新数据框。此columnA应该包含第2列-(to)n的所有值(其中n是从Column2到行尾的列数),如下所示: 我如何最好地解决这个问题?任何意见将是有益的。提前致谢! 问题答案: 您可以按行调用pass ,然后将dtype转换为和: 在这里,我呼吁摆脱,但是我们需要再次强制转换为,这样我们才不会
问题内容: 我正在使用下面的代码合并两个csv(数据帧): 我有以下CSV文件 文件1: 文件2: 合并后 如果您注意到student_id的开头附加了0,应该将其视为文本,但是在合并并使用函数后,它将其转换为数字并删除了前导0。 即使在to_csv之后,如何将列保持为“文本”? 我认为它的to_csv函数可以再次保存为数字添加了dtype = {‘student_id’:str}。 问题答案:
问题内容: 我在Python中使用熊猫有数据框。其中两列分别命名为和。我想创建一个名为 的变量。 问题答案: 如果两个列都是字符串,则可以直接将它们连接起来: 如果其中一列(或两列)都不是字符串类型,则应首先将其转换为字符串, 这样做时要小心! 如果需要连接多个字符串列,可以使用: 其中是分隔符。
问题内容: 我肯定在这里错过了一些简单的事情。尝试在熊猫中合并具有相同列名的两个数据框,但右侧的数据框具有一些左侧没有的列,反之亦然。 我试着加入外部联接: 但这产生了: 我还指定了一个要连接的单列(例如on =“ id”),但是它复制了除“ id”以外的所有列,例如attr_1_x,attr_1_y,这并不理想。我也将整个列列表(有很多)传递给了“ on”: 产生: 我想念什么?我想获得一个带有