创建组合CSV文件

时间:2017-05-02 17:47:43

标签: pandas neural-network dataset

我有两个CSV文件reviews_positive.csvreviews_negative.csv。如何将它们组合成一个CSV文件,但是在以下条件中:

  • 奇数行填充reviews_positive.csv的评论,偶数行填写reviews_negative.csv的评论。
  • 我正在使用Pandas

我需要这个特定的顺序,因为我想建立一个平衡的数据集,用于使用神经网络进行训练

1 个答案:

答案 0 :(得分:3)

这是一个工作示例

from io Import StringIO
import pandas as pd

pos = """rev
a
b
c"""

neg = """rev
e
f
g
h
i"""

pos_df = pd.read_csv(StringIO(pos))
neg_df = pd.read_csv(StringIO(neg))

<强> 解决方案
带有pd.concat参数的 keys标记源数据帧,并保留所需的正数顺序。然后我们sort_index使用参数sort_remaining=False

pd.concat(
    [pos_df, neg_df],
    keys=['pos', 'neg']
).sort_index(level=1, sort_remaining=False)

      rev
pos 0   a
neg 0   e
pos 1   b
neg 1   f
pos 2   c
neg 2   g
    3   h
    4   i

那就是说,你不必交织它们来取样。您可以将groupbysample

一起使用
pd.concat(
    [pos_df, neg_df],
    keys=['pos', 'neg']
).groupby(level=0).apply(pd.DataFrame.sample, n=3)

          rev
pos pos 1   b
        2   c
        0   a
neg neg 1   f
        4   i
        3   h