【发布时间】:2022-01-03 22:35:12
【问题描述】:
我正在尝试有条件地连接 Pandas DataFrame 中的两列。
我找到了一个相关的answer,我在下面对其进行了改编——但似乎应该有一种更简洁的方法来做到这一点。在带有 dplyr 或 data.table 的 R 中,这是一行相对简单的代码。
import pandas as pd
import numpy as np
data = {"Product": ["Shorts", "T-Shirt", "Jacket", "Cap"],
"Color": ["Red", "Blue", "White", "Green"],
"Size": ["S", "M", None, "S"]}
df = pd.DataFrame(data)
df
# if size = 'S' then concatenate Product and Color, else just Put in the value from Color column
for index, row in df.iterrows():
if row['Size'] == 'S':
df.loc[index, 'Output'] = str(row['Product']) + " (" + str(row['Color']) + ')'
else:
df.loc[index, 'Output'] = str(row['Color'])
df
【问题讨论】:
标签: python pandas dataframe concatenation