我有一个数据帧,它在每个单元格中包含一个长度不同的字符串
Num
(1,2,3,4,5)
(6,7,8)
(9)
(10,11,12)
我想避免尝试表演结构拆分(',')中只有一个数字的单元格。但是,我希望将所有单个数字转换为一个元素的列表。你知道吗
这是我尝试过的,它给出了一个错误,说“int”对象是不可调用的
if(df['Num'].size() > 1):
df['Num'] = df['Num'].str.split(',')
更新澄清:
Index Num
0 2,6,7
1 1,3,6,7,8
2 2,4,7,8,9
3 3,5,8,9,10
4 4,9,10
5 1,2,7
6 1,2,3,6,8
7 2,3,4,7,9
8 3,4,5,8,10
9 4,5,9
10 2,3
11 1,3
12 1,2
13 2,3,4
14 1,3,4
15 1,2,4
16 1,2,3
17 2
18 1
我正在尝试获取这个数据帧,并将每个Num行从一个数字字符串转换为一个列表。我希望所有只包含一个数字(17和18)的索引都转换为包含单个元素(本身)的列表。你知道吗
下面的代码仅在每个字符串都是多个由“,”分隔的数字时有效。你知道吗
df['Adj'] = df['Adj'].str.split(',')
运行上述代码时得到的输出数据帧。注意,只有一个数字的元素现在是nan。你知道吗
Index Num
0 [2, 6, 7]
1 [1, 3, 6, 7, 8]
2 [2, 4, 7, 8, 9]
3 [3, 5, 8, 9, 10]
4 [4, 9, 10]
5 [1, 2, 7]
6 [1, 2, 3, 6, 8]
7 [2, 3, 4, 7, 9]
8 [3, 4, 5, 8, 10]
9 [4, 5, 9]
10 [2, 3]
11 [1, 3]
12 [1, 2]
13 [2, 3, 4]
14 [1, 3, 4]
15 [1, 2, 4]
16 [1, 2, 3]
17 NaN
18 NaN
假设您的列都是字符串,您只需要将单个数字作为
list
或str
中的list
就可以了:由于并非所有数据都是
str
类型,因此需要首先将它们强制为str
,以确保正确调用string方法:相关问题 更多 >
编程相关推荐