Загрузите dtypes в Python через отдельную таблицу сопоставления, которую можно связать с основным фреймом данных, чтобы указать dtypes по столбцу - PullRequest
1 голос
/ 15 октября 2019

Несмотря на то, что я новичок в python, я, кажется, уже освоился.

Тем не менее, я буду иметь дело с массивными базами данных с сотнями столбцов, и указание dtypes для каждого, похоже, будет очень интенсивным кодом, то есть с необходимостью специально записывать имена столбцов и преобразовывать их в определенный тип dtype.

Вопрос: Можно ли создать файл excel / CSV со всеми столбцами из первичной базы данных вниз по столбцу и иметь отдельный столбец для dtypes для каждого. Затем связать это с первичным фреймом данных, чтобы указать dtype на основе вторичного фрейма данных? т.е. первичная база данных имеет 100 столбцов, и я загружаю отдельную таблицу с этими 100 столбцами вниз по строкам и просто имею 100 строк + столбец с dtypes (str, int и т. д.), которые можно проиндексировать, чтобы указать точный тип d для каждогострока в первичной базе данных?

это похоже на то, как вы делаете это в Excel, то есть сопоставление индекса с отдельной таблицей сопоставления

1 Ответ

0 голосов
/ 15 октября 2019

если у вас есть другой фрейм данных с правильными dtypes или вы можете создать словарь {columnname: dtype}, то вы можете использовать его для изменения dtypes, как показано ниже

d = {
    "A": np.random.choice("A B C".split(), 5),
    "B": np.random.rand(5),
    "C": np.arange(5)
}

df = pd.DataFrame(d)

df2 = df.astype("O")
print(df2.dtypes)

## convert using dtypes of another dataframe
print(df2.astype(df.dtypes).dtypes)

## convert using dictionary
print(df2.astype({"B":"f", "C":"i"}).dtypes)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...