Pandas 创建组合CSV文件
我有两个CSV文件Pandas 创建组合CSV文件,pandas,neural-network,dataset,Pandas,Neural Network,Dataset,我有两个CSV文件reviews\u positive.CSV和reviews\u negative.CSV。在以下情况下,如何将它们合并到一个CSV文件中: 让奇数行填充来自reviews\u positive.csv的评论,偶数行填充来自reviews\u negative.csv的评论 我在用熊猫 我需要这个特定的顺序,因为我想建立一个平衡的数据集,用于使用神经网络进行训练 from io Import StringIO import pandas as pd pos = """re
reviews\u positive.CSV
和reviews\u negative.CSV
。在以下情况下,如何将它们合并到一个CSV文件中:
- 让奇数行填充来自
reviews\u positive.csv的评论,偶数行填充来自
reviews\u negative.csv的评论李>
- 我在用熊猫
我需要这个特定的顺序,因为我想建立一个平衡的数据集,用于使用神经网络进行训练
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\u remaining=False
也就是说,你不必把它们交织在一起就可以得到平衡的样本。您可以将groupby
与sample
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
这个解决方案是开箱即用的,解释也很贴切。你是数据天才@piRSquared
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