如何使用 Python/Pandas 将单独的列文本转换为行?

How can I convert a separate column text into row using Python/Pandas?

我正在自学机器学习并处理一些包含列的数据集

`

有两个句子列sent0和sent1,sol包含sent0是否违反常识或sent1。如果 sent0 违反常识,则 sol 列中为 0。

我想要的是将 sent0 和 sent1 合并在一列中作为

现在,如果 sent0 违反常识,我想在 sol 列中将其写为 0,如果句子正确则写为 1。我尝试了不同的方法,但直到现在都失败了

这应该可以满足您的需求

df = pd.DataFrame() # this should be your original df

import pandas as pd
data = pd.DataFrame(columns=["id", "sent", "sol"])
for i, row in df.iterrows():
    id_ = row["id"]
    sent0 = row["sent0"]
    sent1 = row["sent1"]
    sol = row["sol"]

    # calculate solutions
    if sol == 0:    # if sent0 is against common sense
        sol0 = 0
        sol1 = 1    # is common sense
    else:
        sol0 = 1    # is common sense
        sol1 = 0

    columns = ["id", "sent", "sol"]
    data = data.append(pd.DataFrame([[id_, sent0, sol0]], columns=columns))
    data = data.append(pd.DataFrame([[id_, sent1, sol1]], columns=columns))