根据 csv 文件中另一列中的值提取列的值
extract values of column according to value in another columns in csv file
这是我的文件:
id;verbatim;score
0;1; je suis beau;1
1;2; je suis laid;0
2;3;je suis merveilleux;1
3;4;je suis repugne;0
我想提取 "verbatim" 列中得分为 1 的所有句子和所有得分为 0 的句子,以便我有两个单独的文件:
print(verbatim, score = 1)
id;verbatim;score
1; je suis beau;1
3;je suis merveilleux;1
和
print(verbatim, score = 0)
id;verbatim;score
2; je suis laid;0
4;je suis repugne;0
我开始写一些代码,但我真的不认为它在正确的道路上:
df = pd.read_csv("out.csv", na_values = ['no info', '.'], encoding='latin- 1', delimiter=';')
m1 = df['verbatim'].eq(0)
m2 = df['critere'].eq(0)
SizePos = df[m1 & m2]
dSizeZero_PptPosf2 = df[m1 & ~m2]
SizeZero_PptZero = df[~m1]
print(SizePos)
当我在阅读文件后打印 df.head() 时:
id Verbatim ... Scoreneg Scoreneu
0 1 Je nai pas bien compris si cétait destiné à ... ... 6813 3202
1 2 Peut-être quil faut que je révise mes classiq... ... 20842 3974
2 3 ça peut donner une photographie pour dire que ... ... 5083 384
3 4 Je comprends bien lintérêt quil peut y avoir... ... 11335 1132
4 5 Jai bien compris le concept, cest clair. ... 258 91
如果您打算使用 pd.read_csv()
,并且您只想提取满足您所需条件的句子,那么您可以执行以下操作:
import pandas as pd
df = pd.read_csv('test.csv', sep=';')
df[df['score']==1]['verbatim'].values
df[df['score']==0]['verbatim'].values
这将得到:
[' je suis beau' 'je suis merveilleux']
[' je suis laid' 'je suis repugne']
试试这个:
df = pd.read_csv("out.csv", na_values = ['no info', '.'], encoding='latin- 1', delimiter=';')
df[df['score'] == 1].to_csv("score1.csv")
df[df['score'] == 0].to_csv("score0.csv")
就这么简单。
这是我的文件:
id;verbatim;score
0;1; je suis beau;1
1;2; je suis laid;0
2;3;je suis merveilleux;1
3;4;je suis repugne;0
我想提取 "verbatim" 列中得分为 1 的所有句子和所有得分为 0 的句子,以便我有两个单独的文件:
print(verbatim, score = 1)
id;verbatim;score
1; je suis beau;1
3;je suis merveilleux;1
和
print(verbatim, score = 0)
id;verbatim;score
2; je suis laid;0
4;je suis repugne;0
我开始写一些代码,但我真的不认为它在正确的道路上:
df = pd.read_csv("out.csv", na_values = ['no info', '.'], encoding='latin- 1', delimiter=';')
m1 = df['verbatim'].eq(0)
m2 = df['critere'].eq(0)
SizePos = df[m1 & m2]
dSizeZero_PptPosf2 = df[m1 & ~m2]
SizeZero_PptZero = df[~m1]
print(SizePos)
当我在阅读文件后打印 df.head() 时:
id Verbatim ... Scoreneg Scoreneu
0 1 Je nai pas bien compris si cétait destiné à ... ... 6813 3202
1 2 Peut-être quil faut que je révise mes classiq... ... 20842 3974
2 3 ça peut donner une photographie pour dire que ... ... 5083 384
3 4 Je comprends bien lintérêt quil peut y avoir... ... 11335 1132
4 5 Jai bien compris le concept, cest clair. ... 258 91
如果您打算使用 pd.read_csv()
,并且您只想提取满足您所需条件的句子,那么您可以执行以下操作:
import pandas as pd
df = pd.read_csv('test.csv', sep=';')
df[df['score']==1]['verbatim'].values
df[df['score']==0]['verbatim'].values
这将得到:
[' je suis beau' 'je suis merveilleux']
[' je suis laid' 'je suis repugne']
试试这个:
df = pd.read_csv("out.csv", na_values = ['no info', '.'], encoding='latin- 1', delimiter=';')
df[df['score'] == 1].to_csv("score1.csv")
df[df['score'] == 0].to_csv("score0.csv")
就这么简单。