日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python删除所有core文件_python – 从pandas.core.series.Series中删除前导零

發(fā)布時間:2025/3/19 python 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python删除所有core文件_python – 从pandas.core.series.Series中删除前导零 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

我有一個帶有數(shù)據(jù)的pandas.core.series.Series

0 [00115840, 00110005, 001000033, 00116000...

1 [00267285, 00263627, 00267010, 0026513...

2 [00335595, 00350750]

我想從系列中刪除前導(dǎo)零.我試過了

x.astype('int64')

但得到了錯誤信息

ValueError: setting an array element with a sequence.

你能建議我在python 3.x中怎么做嗎?

解決方法:

如果想要將字符串列表轉(zhuǎn)換為整數(shù)列表,請使用list comprehension:

s = pd.Series([[int(y) for y in x] for x in s], index=s.index)

s = s.apply(lambda x: [int(y) for y in x])

樣品:

a = [['00115840', '00110005', '001000033', '00116000'],

['00267285', '00263627', '00267010', '0026513'],

['00335595', '00350750']]

s = pd.Series(a)

print (s)

0 [00115840, 00110005, 001000033, 00116000]

1 [00267285, 00263627, 00267010, 0026513]

2 [00335595, 00350750]

dtype: object

s = s.apply(lambda x: [int(y) for y in x])

print (s)

0 [115840, 110005, 1000033, 116000]

1 [267285, 263627, 267010, 26513]

2 [335595, 350750]

dtype: object

編輯:

如果只想要整數(shù),你可以將值展平并轉(zhuǎn)換為整數(shù):

s = pd.Series([item for sublist in s for item in sublist]).astype(int)

替代方案:

import itertools

s = pd.Series(list(itertools.chain(*s))).astype(int)

print (s)

0 115840

1 110005

2 1000033

3 116000

4 267285

5 263627

6 267010

7 26513

8 335595

9 350750

dtype: int32

時序:

a = [['00115840', '00110005', '001000033', '00116000'],

['00267285', '00263627', '00267010', '0026513'],

['00335595', '00350750']]

s = pd.Series(a)

s = pd.concat([s]*1000).reset_index(drop=True)

In [203]: %timeit pd.Series([[int(y) for y in x] for x in s], index=s.index)

100 loops, best of 3: 4.66 ms per loop

In [204]: %timeit s.apply(lambda x: [int(y) for y in x])

100 loops, best of 3: 5.13 ms per loop

#c???s???? sol

In [205]: %%timeit

...: v = pd.Series(np.concatenate(s.values.tolist()))

...: v.astype(int).groupby(s.index.repeat(s.str.len())).agg(pd.Series.tolist)

...:

1 loop, best of 3: 226 ms per loop

#Wen solution

In [211]: %timeit pd.Series(s.apply(pd.Series).stack().astype(int).groupby(level=0).apply(list))

1 loop, best of 3: 1.12 s per loop

flatenning的解決方案(@c???s????的想法):

In [208]: %timeit pd.Series([item for sublist in s for item in sublist]).astype(int)

100 loops, best of 3: 2.55 ms per loop

In [209]: %timeit pd.Series(list(itertools.chain(*s))).astype(int)

100 loops, best of 3: 2.2 ms per loop

#c???s???? sol

In [210]: %timeit pd.Series(np.concatenate(s.values.tolist()))

100 loops, best of 3: 7.71 ms per loop

標(biāo)簽:python,pandas,time-series

總結(jié)

以上是生活随笔為你收集整理的python删除所有core文件_python – 从pandas.core.series.Series中删除前导零的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。