【发布时间】:2017-06-19 19:42:48
【问题描述】:
我有 2 列的 csv:“上下文”、“话语”。
我需要洗牌(随机排序)“上下文”列值。注意,不是整行洗牌,而是只有1列,第二列“话语”顺序保持不变。
为此我使用了:answers (shuffling/permutating a DataFrame in pandas)
train_df2 = pd.read_csv("./data/nolabel.csv", encoding='utf-8', sep=",")
train_df2.drop('Utterance', axis=1, inplace=True) # delete 'Utterance'
train_df2 = train_df2.sample(frac=1) # shuffle
train_df2['Utterance'] = train_moscow_df['Utterance'] # add back 'Utterance'
train_df2["Label"] = 0
header = ["Context", "Utterance", "Label"] #
train_df2.to_csv('./data/label0.csv', columns = header, encoding='utf-8', index = False)
但是,结果很糟糕:我得到了一个完整的行 shuffle,但 2 列的相应值仍然相同。
我需要第一列的第一个值对应于第二列的随机值。 (也尝试过from sklearn.utils import shuffle,但也没有运气)
【问题讨论】: