python - 根据另一列 pandas 中字符串的特定字符创建新的数据框列
问题描述
我有一个包含字符串的列的数据框。我想知道是否可以根据数据框创建一个新列。这是该列的示例:
col1
016e3d588c
071b4x718g
011e3d598c
041e0i608g
我想根据字符串的最后一个字符创建一个新列。这是我尝试过的:
for i in DF['col1']:
if i[-1] == 'g':
DF['col2'] = 1
else:
DF['col2'] = 0
我想要这样的新专栏:
col2
0
1
0
1
但我的代码有以下输出:
col2
0
0
0
0
有可能做到吗?
提前致谢
解决方案
使用str.endswith()
前任:
df = pd.DataFrame({"Col1": ['016e3d588c', '071b4x718g', '011e3d598c', '041e0i608g']})
df["Col2"] = df["Col1"].str.endswith("g").astype(int)
print(df)
输出:
Col1 Col2
0 016e3d588c 0
1 071b4x718g 1
2 011e3d598c 0
3 041e0i608g 1
推荐阅读
- mysql - 关于如何向列添加更多信息的 mySQL 问题
- python - 用于运行多个 Django 应用程序的 Bash 脚本
- ruby - Ruby:未初始化的常量(NameError)
- html - 如何在html中的输入占位符内放置一个图标?
- sublimetext3 - 子线文本粘贴和缩进窗口 10
- python - 使用 pyodbc DSN 连接将 DataFrame 写入 Hive
- verilog - ice40 时钟延迟,输出时序分析
- ios - Xcode 应用程序崩溃,控制台中没有调试信息
- html - 如何让表格填满整个屏幕?
- php - Laravel如何优化仅由状态分隔的多个查询