gpt4 book ai didi

python - 使用 Pandas 切片和连接?

转载 作者:行者123 更新时间:2023-12-05 02:52:27 27 4
gpt4 key购买 nike

到目前为止,我的努力微乎其微。事实上,我不知道如何使用 Pandas 来处理它。

我得到了一个包含偶数和奇数的列表,我需要拆分列表并将其粘贴到相邻的列中,然后对列表执行连接命令。

for example my list reads:
odd even
1 2
3 4
5 6
7 8
9 10
11 12
13 14
15 16
17 18
19 20

所以我将列准确地分成两列并使用 excel concatenate 命令连接

Expected result:
odd-odd even-even
111 212
313 414
515 616
717 818
919 1020

帮助!

最少的工作代码:

import pandas as pd
list2=[1,3,5,7,9,11,13,15,17,19]
df = pd.DataFrame((list2), columns=['odd'])
df = df.astype(str).groupby(df['odd'].astype(str).str[-1]).agg({"odd": lambda x: "".join(x)}).reset_index(drop=True)
print (df)

得到的输出:

   odd
0 111
1 313
2 515
3 717
4 919

但是当我向列表示例中添加更多值时:list2=[1,3,5,7,9,11,13,15,17,19,21,23,25,27]我明白了

     odd
0 11121
1 31323
2 51525
3 71727
4 919

我要找的是:

115
317
519
721
923
1125
1327

这样就可以了。感谢大家的努力。

import pandas as pd
list2=[1,3,5,7,9,11,13,15,17,19,21,23,25,27]
df = pd.DataFrame((list2), columns=['odd'])
n2 = len(df)
n1 = int(n2/2)
df2 = pd.DataFrame()
df2['odd-odd'] = df.odd[0:n1].astype(str).to_numpy()+df.odd[n1:n2].astype(str).to_numpy()
print (df2['odd-odd'])

最佳答案

试试这个,将所有列转换为 string 提取最后一个元素作为 groupby 的引用,应用 aggregate & join.

(
df.astype(str).
groupby(df['odd'].astype(str).str[-1]).
agg({"odd": lambda x: "".join(x), "even": lambda x: "".join(x)}).
reset_index(drop=True)
)

   odd  even
0 111 212
1 313 414
2 515 616
3 717 818
4 919 1020

关于python - 使用 Pandas 切片和连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62605935/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com