Python 3.x 如何剪切行的一部分';在Python中只保留前3位数字
我在上面提供的数据框中有一列。它可以有任意数量的行,这取决于正在处理的数据。它是许多列中的一列,但前三个数字与另一列数据相匹配。我需要切断前3个数字之后的所有内容,以便根据类似的值将其附加到另一个数据帧。关于如何只获取前3个数字,并删除剩余的8个值,有什么想法吗 到目前为止,我已经将整个列作为一个系列和一个numpy.array单独列出,以便尝试将其转换为str而不是对象。 我知道这让我离答案越来越近了,但我似乎不知道如何去掉不必要的值Python 3.x 如何剪切行的一部分';在Python中只保留前3位数字,python-3.x,pandas,dataframe,data-science,Python 3.x,Pandas,Dataframe,Data Science,我在上面提供的数据框中有一列。它可以有任意数量的行,这取决于正在处理的数据。它是许多列中的一列,但前三个数字与另一列数据相匹配。我需要切断前3个数字之后的所有内容,以便根据类似的值将其附加到另一个数据帧。关于如何只获取前3个数字,并删除剩余的8个值,有什么想法吗 到目前为止,我已经将整个列作为一个系列和一个numpy.array单独列出,以便尝试将其转换为str而不是对象。 我知道这让我离答案越来越近了,但我似乎不知道如何去掉不必要的值 0 546/001441 1 540/0014
0 546/001441
1 540/001495
2 544/000796
3 544/000797
4 544/000798
这会在我需要的地方剪切字符串,但我不知道如何对整个列执行此操作。假设列的名称为
col
,您可以
testcut=dfwhynot[0][:3]
然后得到每个col1
组的最小元素
col1 col2
0 546 001441
1 540 001495
2 544 000796
3 544 000797
4 544 000798
导致
df.groupby('col1').min().reset_index()
您是否尝试过pandas的
join
ing或merge
ing?在我可以将数据加入或合并到另一个数据帧之前,我需要对其进行过滤。为了将其过滤到我的需要,我只需要上面数据中的前3个值。我计划在过滤后将该列与另一列交换,然后使用.join将其追加。您可以使用df['series'].str[:3]
谢谢您,效果非常好!我有一种感觉,这将是简单的,我只是无法确定下来。谢谢你的问题!我刚刚对它做了一点修改,所以它都是在一个数据帧内完成的。
df.groupby('col1').min().reset_index()
col1 col2
0 540 001495
1 544 000796
2 546 001441