使用包含列表的列从 txt 文件制作数据框
Making dataframe out of txt file with column containing a list
我有以下 txt 文件,我在下面给出了几行。我想使用 pandas 制作一个具有三列的数据框。第一列标题为 'Unique_id$ 给定 00001、00002 等,第二列标题为 'Labels',第三列标题为 'doc_id'.
我运行以下pandas命令
df_text = pd.read_csv('trainset.txt', names = ['Unique_id','Lables', 'doc_id'],delim_whitespace=True)
输出结果如下
Unique_id Labels doc_id
1 C 9149180 3781329.0
2 B 4396080 9207819.0
3 B 1519858 11734712.0
4 A 15547167 NaN
5 C 11392916 NaN
所以标签被移动了,它将最后一列作为单独的列处理,其中元素代表一堆文档 id。我该如何纠正这个问题?最后一列的每个元素都是文档 ID 列表?
txt文件如下。
txt 文件
00001 C 9149180 3781329
00002 B 4396080 9207819 9757979 344087 361152 2099731
00003 B 1519858 11734712
00004 A 15547167
00005 C 11392916
00006 A 8942774 8942775 8036464 7497161
00007 A 15547167
00008 C 12913777
如果我对你的理解正确,你希望最后的数字作为一列,其中值是列表:
with open("your_file.txt", "r") as f_in:
df_text = pd.DataFrame(f_in)
df_text["Unique_id"] = df_text[0].str.split().str[0]
df_text["Labels"] = df_text[0].str.split().str[1]
df_text["doc_id"] = df_text[0].apply(lambda x: x.split()[2:])
df_text = df_text.drop(columns=0)
print(df_text)
打印:
Unique_id Labels doc_id
0 00001 C [9149180, 3781329]
1 00002 B [4396080, 9207819, 9757979, 344087, 361152, 2099731]
2 00003 B [1519858, 11734712]
3 00004 A [15547167]
4 00005 C [11392916]
5 00006 A [8942774, 8942775, 8036464, 7497161]
6 00007 A [15547167]
7 00008 C [12913777]
我有以下 txt 文件,我在下面给出了几行。我想使用 pandas 制作一个具有三列的数据框。第一列标题为 'Unique_id$ 给定 00001、00002 等,第二列标题为 'Labels',第三列标题为 'doc_id'.
我运行以下pandas命令
df_text = pd.read_csv('trainset.txt', names = ['Unique_id','Lables', 'doc_id'],delim_whitespace=True)
输出结果如下
Unique_id Labels doc_id
1 C 9149180 3781329.0
2 B 4396080 9207819.0
3 B 1519858 11734712.0
4 A 15547167 NaN
5 C 11392916 NaN
所以标签被移动了,它将最后一列作为单独的列处理,其中元素代表一堆文档 id。我该如何纠正这个问题?最后一列的每个元素都是文档 ID 列表?
txt文件如下。
txt 文件
00001 C 9149180 3781329
00002 B 4396080 9207819 9757979 344087 361152 2099731
00003 B 1519858 11734712
00004 A 15547167
00005 C 11392916
00006 A 8942774 8942775 8036464 7497161
00007 A 15547167
00008 C 12913777
如果我对你的理解正确,你希望最后的数字作为一列,其中值是列表:
with open("your_file.txt", "r") as f_in:
df_text = pd.DataFrame(f_in)
df_text["Unique_id"] = df_text[0].str.split().str[0]
df_text["Labels"] = df_text[0].str.split().str[1]
df_text["doc_id"] = df_text[0].apply(lambda x: x.split()[2:])
df_text = df_text.drop(columns=0)
print(df_text)
打印:
Unique_id Labels doc_id
0 00001 C [9149180, 3781329]
1 00002 B [4396080, 9207819, 9757979, 344087, 361152, 2099731]
2 00003 B [1519858, 11734712]
3 00004 A [15547167]
4 00005 C [11392916]
5 00006 A [8942774, 8942775, 8036464, 7497161]
6 00007 A [15547167]
7 00008 C [12913777]