python - 如何单独获取匹配的ID作为新列?

标签 python pandas dataframe

我有以下数据。

df['íd'] = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O']
df['value'] = ['12','12','13','12','13','12','13','12','12','15','17','12','13','12','15']

如果id对应的值等于12,如何单独获取id作为新列?

最佳答案

我认为你需要locwhere :

df = pd.DataFrame()
df['id'] = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O']
df['value'] = ['12','12','13','12','13','12','13','12','12','15','17','12','13','12','15']

df.loc[df['value'] == '12', 'new'] = df['id']
print (df)
   id value  new
0   A    12    A
1   B    12    B
2   C    13  NaN
3   D    12    D
4   E    13  NaN
5   F    12    F
6   G    13  NaN
7   H    12    H
8   I    12    I
9   J    15  NaN
10  K    17  NaN
11  L    12    L
12  M    13  NaN
13  N    12    N
14  O    15  NaN
<小时/>
df['new'] = df['id'].where(df['value'] == '12')
print (df)
   id value  new
0   A    12    A
1   B    12    B
2   C    13  NaN
3   D    12    D
4   E    13  NaN
5   F    12    F
6   G    13  NaN
7   H    12    H
8   I    12    I
9   J    15  NaN
10  K    17  NaN
11  L    12    L
12  M    13  NaN
13  N    12    N
14  O    15  NaN

编辑:

为了与数字进行比较,请删除'':

df = pd.DataFrame()
df['id'] = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O']
df['value'] = [12,12,13,12,13,12,13,12,12,15,17,12,13,12,15]

df.loc[df['value'] == 12, 'new'] = df['id']
print (df)
   id  value  new
0   A     12    A
1   B     12    B
2   C     13  NaN
3   D     12    D
4   E     13  NaN
5   F     12    F
6   G     13  NaN
7   H     12    H
8   I     12    I
9   J     15  NaN
10  K     17  NaN
11  L     12    L
12  M     13  NaN
13  N     12    N
14  O     15  NaN

关于python - 如何单独获取匹配的ID作为新列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43537761/

相关文章:

python - TIS/TSM非主线程错误;由热键触发的 pygame 脚本 (rumps, pygame, keyboard)

python - 将非常重复的矩阵添加到 numpy/scipy 中的稀疏矩阵中?

Python:在嵌套字典中查找最小值

python - 优化 Pandas 数据框列的四分位数?

python - 如何对 pandas 数据框进行子集化

python - 与 .eq() 比较 Dataframes 后获取索引

python-3.x - 如何知道 pandas 列中的每个后续值是否都大于前面的值? Python相关

python - Django 如何为主页 URL 定义默认应用程序?

python - 在 Pandas 中,根据同一 DataFrame 中的值对匹配多个条件的行进行计数,并将计数添加到列中

python - 使用 pandas 将表中不同值出现的计数值作为新列添加到表中