我有一個程序需要將兩個單元格合併為一個單元格。輸入 .csv 文件如下所示
12 00 0E 00 57 23
57 23 02 23 57 0A
2D 16 0C 5A 2D 16
這是我擁有的輸入文件的一小段摘錄。我目前正在嘗試創建一個新列,其中的值是
0012
000E
2357
2357
2302
0A57
162D
5A0C
162D
即第二個值在第一個之前,被合併,並繼續向下輸入文件,向左和向下。我對 Pandas 不是很熟悉,希望有人有任何想法和解決方案。謝謝
您可以使用底層的 numpy 數組和reshape
:
import io
t = '''12 00 0E 00 57 23
57 23 02 23 57 0A
2D 16 0C 5A 2D 16'''
# using io here for the example but use a file in the real use case
df = pd.read_csv(io.StringIO(t), sep=' ', header=None, dtype=str)
x,y = df.shape
(pd.DataFrame(df.values.reshape(x*y//2, 2)[:, ::-1])
.apply(''.join, axis=1)
)
輸出:
0 0012
1 000E
2 2357
3 2357
4 2302
5 0A57
6 162D
7 5A0C
8 162D
dtype: object
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句