python - 在数据框中按 vs. 拆分列并获得 2 列作为结果
问题描述
我正在尝试将一列分成两列:
我的数据框看起来像:
第一张桌子
Value
4 vs. 6
4 vs. 7
1 vs. 3
5
6 vs. 5
6
3
我想用 vs. 分割 Value 列:
我试过了:
dataframe[['Today', 'Yesterday']] = dataframe["Value"].str.split("vs.", expand=True)
我有以下输出:
Value
4 vs. 6
4 vs. 7
1 vs. 3
5
6 vs. 5
6
3
Today
4
4
1
0
6
0
0
Yesterday
6
7
3
0
5
0
0
当没有 vs 时,我不会期望 0 值。
我想要的是:
第三张桌子
Value
4 vs. 6
4 vs. 7
1 vs. 3
5
6 vs. 5
6
3
Today
4
4
1
5
6
6
3
Yesterday
6
7
3
5
5
6
3
感谢您的任何建议。
解决方案
或这个:
// your dataframe
df = pd.DataFrame(["4 vs. 6", "4 vs. 7", "1 vs. 3","5", "6 vs. 5", "6", "3"], columns=["values"])
def getToday(string):
if "vs" in string:
return string.split("vs.")[0].strip()
else:
return string.strip()
def getYesterday(string):
if "vs" in string:
return string.split("vs.")[1].strip()
else:
return string.strip()
df["yesterday"] = df["values"].apply(getYesterday)
df["today"] = df["values"].apply(getToday)
推荐阅读
- python - 用于分类问题的多个文本列的特征提取
- javascript - Phaser 2 确定哪个单元处于活动状态
- sql-server - 进口商截断 nvarchar
- flutter - Flutter fl_chart:有没有办法从图表外部插入滑块或管理水龙头?
- android - Android - Googel Play 控制台错误“VALIDATE_APP_MESSAGE_NO_AUTOMOTIVE_SCREENSHOTS”
- python-3.x - 如何解决在我的代码中使用 optimize.curve_fit 函数时出现的 Valueerror 问题?
- android - 将复杂对象发送到 Fragment android?
- php - 2021 年使用 PHP 5.3 的 Apache
- html - CSS网格使项目高度相同
- apache-spark - 如何在 spark-on-k8s-operator 中传递带空格 pyspark 参数的字符串