我有一个pd数据帧,希望根据同一数据帧中的两个其他列计算一个列。我想使用Numpy矢量化,因为数据集很大。 以下是数据帧:
Input Dataframe
A B
0 567 345
1 123 456
2 568 354
Output Dataframe
A B C
0 567 345 567.345
1 123 456 123.456
2 568 354 568.354
其中,C列是a和B之间的串联,两个值之间有点。 我正在使用apply():
df['C'] = df.apply(lambda row: str(row['A']) + '.' + str(row['B']), axis=1)
而是迭代行/索引等,但仍然很慢。 我知道我可以做到:
df['C'] = df['A'].values + df['B'].values
速度非常快,但这不会给我想要的结果,同时:
df['C'] = str(df['A'].values) + '.' + str(df['B'].values)
会给我一些完全不同的东西。 该示例仅用于演示目的(A和B的值可以是任何类型)。这个问题更一般。 提前谢谢你
要将数字转换为字符串,可以使用方法
astype()
:列表理解应比应用或此类用例更快:
输出
相关问题 更多 >
编程相关推荐