Как я могу заменить все слова в питоне Dataframe - PullRequest
1 голос
/ 19 марта 2019

Я пытаюсь преобразовать счет AGL в фрейм данных, чтобы я мог поместить необходимые значения в таблицу Excel.

Я застрял, пытаясь .replace() символов в строках ни с чем, чтобы остались только цифры (пытаясь удалить все слова в кадре данных). Другая проблема заключается в том, что в каждой ячейке есть несколько слов и цифр.

Вот текущая база данных:

from tabula import read_pdf
import openpyxl
from openpyxl import load_workbook
import pandas as pd
import numpy as np

df1 = tabula.read_pdf('C:/Users/Blake/Desktop/Python/AGL_Bill.pdf',guess=False, pages=2)
df1.columns = ['Description', 'Blank', 'Values']




df1.drop(labels=None, axis=None, index=[0,1,3,4,7,8,25,26,19,15,16,20,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62], columns=None, level=None, inplace=True, errors='raise')
df1.drop(labels=None, axis=1, columns=['Values'], level=None, inplace=True, errors='raise')





df1['Description'].str.replace('kWh', '')



print (df1)

df1.to_csv('Tableone.csv', encoding='utf-8')


wb2 = load_workbook('C:/Users/Blake/Desktop/ETemplate.xlsx')


wb2.create_sheet('DATA')
wb2.save('C:/Users/Blake/Desktop/Template.xlsx')`

1 Ответ

0 голосов
/ 19 марта 2019

Если вы пытаетесь заменить символы ничем - тогда RegEx использует числа, каждая ячейка - соединяя их вместе.

импорт повторно

import pandas as pd

data={'1':'Some dumb data $200.22 for me','2':'Some more really dumb data $5.23'}
df=pd.DataFrame.from_dict(data,orient='index')
df.columns=['Data']

def Num_Only(val):
    return ' '.join(re.findall('[\d\.]+',val))

df['New']=''
df.New=df.Data.apply(lambda x: Num_Only(x))
Which should output a new Dataframe ... like this

Вывод теперь ... Я удалил $, так как он бесполезен.

1.   Some dumb data $200.22 for me  200.22
2   Some more really dumb data $5.23    5.23

Надеюсь, что вы получаете

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...