gpt4 book ai didi

python - 将包含 UTF-8 和 Null 的 DataFrame 转换为字符串而不丢失数据

转载 作者:太空宇宙 更新时间:2023-11-03 21:01:56 24 4
gpt4 key购买 nike

这是我在此数据框中读取的代码:

html = 'https://www.agroindustria.gob.ar/sitio/areas/ss_mercados_agropecuarios/logistica/_archivos/000023_Posici%C3%B3n%20de%20Camiones%20y%20Vagones/000010_Entrada%20de%20camiones%20y%20vagones%20a%20puertos%20semanal%20y%20mensual.php'
url = urlopen(html)
df = pd.read_html(html, encoding = 'utf-8')
remove = []

for x in range(len(df)):
if len(df[x]) < 10:
remove.append(x)

for x in remove[::-1]:
df.pop(x)

df = df[0]

包含的数据框同时使用“,”和“.”作为数千个指标,我两者都不想要。所以 5.103 应该是 5103。

使用此代码:

df = df.apply(lambda x: x.str.replace('.', ''))
df = df.apply(lambda x: x.str.replace(',', ''))

所有数据都将发生变化,但最后四列中的值将全部变为 NaN。我假设这与尝试在 float 上使用 str.replace 有关?

尝试任何类型的 df[column] = df[column].astype(str) 也会返回错误,就像下面这样复杂的事情一样:

for x in df.columns.tolist():
for k, v in df[x].iteritems():
if pd.isnull(v) == False and type(v) = float:
df.loc(k, df[x]) == str(v)

解决这个问题的正确方法是什么?

最佳答案

您可以尝试这种正则表达式方法。我还没有测试过,但它应该可以工作。

df = df.apply(lambda x: re.sub(r'(\d+)[.,](\d+)',r'\1\2',str(x)))

关于python - 将包含 UTF-8 和 Null 的 DataFrame 转换为字符串而不丢失数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55659463/

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