Форум программистов, компьютерный форум, киберфорум
Python: Научные вычисления
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/29: Рейтинг темы: голосов - 29, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 15.08.2018
Сообщений: 117

Форматирование столбцов в DataFrame PANDAS

02.03.2021, 12:55. Показов 6145. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, господа сочувствующие!
Какими методами можно отредактировать текущий DataFrame,c данными формата:

,Beam,Date Time,Footprint X,Footprint Y,Footprint Z

0,1,2020-11-03 07:09:27.149,416957.268,7640470.031,-7.989

1,2,2020-11-03 07:09:27.149,416957.205,7640470.097,-7.9879999999999995

2,3,2020-11-03 07:09:27.149,416957.12200000003,7640470. 183999999,-7.978


С последующей возможностью форматирования каждого столбца на нужных мне условиях с сохранением в текущий Dataframe.
Например урезать: Footprint X,Footprint Y до 4го знака.
Спасибо за любую помощь!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.03.2021, 12:55
Ответы с готовыми решениями:

Дублирование строк в DataFrame pandas
Добрый день! Имеется ли простой способ продублировать строку DataFrame 5 раз подряд и это повторить для каждой строки исходного...

Удаление строки из DataFrame. Библиотека Pandas
Как из датафрейма удалить определенную строку, которая не соответствующую условию. Пример: Дан датафрейм в котором хранится такая...

Изменение данных в столбцах DataFrame Pandas
Не могу сообразить, как упростить решение следующей задачи: Имеется DataFrame следующего содержания Group Value 1 ...

11
578 / 411 / 69
Регистрация: 09.01.2018
Сообщений: 1,363
02.03.2021, 16:58
Лучший ответ Сообщение было отмечено Егор84 как решение

Решение

Что такое "отредактировать текущий DataFrame,c данными формата:" - можно только догадываться, но вот "Например урезать: Footprint X,Footprint Y до 4го знака." можно вот так:
Python
1
df['Footprint X']=df[Footprint X'].round(decimals=4)
1
0 / 0 / 0
Регистрация: 15.08.2018
Сообщений: 117
02.03.2021, 17:05  [ТС]
Огромное спасибо. Если не трудно подскажите, где кроме дебрей стандартной документации можно почитать о методах Pandas для редактирования и возможностями и работы с DataFrame. В указном топике к данной теме.
df['Footprint X']=df[Footprint X'].round(decimals=4) - битый час ищу информацию по данным свойствам.
0
578 / 411 / 69
Регистрация: 09.01.2018
Сообщений: 1,363
02.03.2021, 17:12
Лучший ответ Сообщение было отмечено Егор84 как решение

Решение

Своим студентам я даю вот этот список, но всегда предупреждаю, что это - только моя "формальная отмазка". А реально данных в сегодняшнем интернет - просто море. Задаете вопрос Гууглу и получаете ответ. Другое дело, что что-бы правильно задать вопрос, а потом в ответе от шлака отсечь полезности - надо быть в теме. Поэтому хоть раз надо хоть какую-то книжечку по теме (в данном случае Pandas) прочитать. ну, или на худой конец - прослушать регулярный курс. Тогда искать будете не час, а полторы минуты.

Хейдт М., Изучаем Pandas.-М.:ДМК Пресс,2018.-438с.
Ван дер Плас Дж. Python для сложных задач: наука о данных и машинное обучение. — СПб.: Питер, 2018. — 576 с.
https://pythonworld.ru/obrabotka-dannyx
https://python.ivan-shamaev.ru... ild-index/
https://www.learndatasci.com/t... beginners/
https://realpython.com/pandas-... re-dataset
https://pandas.pydata.org/pand... index.html
https://www.mygreatlearning.co... -tutorial/
https://www.notion.so/Pandas-T... f0803fad5f
1
0 / 0 / 0
Регистрация: 15.08.2018
Сообщений: 117
02.03.2021, 17:13  [ТС]
Python
1
2
3
4
5
6
7
8
9
import pandas as pd
import seaborn as sns
 
df = pd.read_csv('slice.txt')
df['Footprint X']=df['Footprint X'].round(decimals=4)
print (df)
i = 0
with open('1.txt', 'a') as f:
        f.write(f'{df[["Beam", "Date Time","Footprint X", "Footprint Y", "Footprint Z"]].to_csv(f)}
')

Всё осталось по прежнему:

,Beam,Date Time,Footprint X,Footprint Y,Footprint Z
0 1 2020-11-03 07:09:27.149 416957.268 7640470.031 -7.989
1 2 2020-11-03 07:09:27.149 416957.205 7640470.097 -7.988
2 3 2020-11-03 07:09:27.149 416957.122 7640470.184 -7.978
3 4 2020-11-03 07:09:27.149 416957.062 7640470.246 -7.979
4 5 2020-11-03 07:09:27.149 416957.014 7640470.297 -7.985
... ... ... ... ... ...
0
578 / 411 / 69
Регистрация: 09.01.2018
Сообщений: 1,363
02.03.2021, 17:24
Цитата Сообщение от Егор84 Посмотреть сообщение
Всё осталось по прежнему:
.
Серьёзно?
Было: -7.9879999999999995
Стало: -7.988

Было: 7640470.183999999
Стало:7640470.184

Было: 416957.12200000003
Стало: 416957.122

Если это не "урезать: Footprint X,Footprint Y до 4го знака." - то что это? И какого ответа вы от такого урезания ожидали?
0
0 / 0 / 0
Регистрация: 15.08.2018
Сообщений: 117
03.03.2021, 08:15  [ТС]
Прошу прощения. Скопипастил с форума, забыв опостров. Всё отлично работает! Низкий Вам поклон!
И если не примете за наглость, то спрошу каким методом можно напрямую обрезать DataFrame до нужного знака?
0
578 / 411 / 69
Регистрация: 09.01.2018
Сообщений: 1,363
03.03.2021, 12:18
Извините, но вот в этой фразе - не понял ничего:
Цитата Сообщение от Егор84 Посмотреть сообщение
напрямую (??) обрезать (??) DataFrame (??) до нужного знака?
1. Что значит "напрямую"? И как можно "не на прямую"?
2. Что значит "обрезать DataFrame"?? И чем это отличается от "отредактировать текущий DataFrame,c данными формата:", о котором вы говорили раньше.
0
0 / 0 / 0
Регистрация: 15.08.2018
Сообщений: 117
03.03.2021, 12:42  [ТС]
Простите за неточность ответа. Но до сих пор не нашёл ответа, как можно уменьшать длину данных (количество символов) в столбцах :
"Footprint X", "Footprint Y", "Footprint Z"
416957.268,7640470.031,-7.989
416957.205,7640470.097,-7.988
416957.122,7640470.184,-7.978
416957.062,7640470.246,-7.979
стало:
"Footprint X", "Footprint Y", "Footprint Z"
416,764,-7.9
416,764,-7.9
416,764,-7.9
416,764,-7.9
А так же применять арифметические операторы (+,-,/,*,^) в том числе самостоятельные функции к каждому столбцу в отдельности.
Спасибо за Вашу помощь!
0
578 / 411 / 69
Регистрация: 09.01.2018
Сообщений: 1,363
03.03.2021, 13:46
А вы не путаете формат сохранения информации и формат представления информации??
Попробуйте дать:
Python
1
pd.options.display.float_format = '{:.12f}'.format
и посмотреть на свои данные еще раз.
До и после того преобразования, которое я вам показал.
0
0 / 0 / 0
Регистрация: 15.08.2018
Сообщений: 117
03.03.2021, 14:54  [ТС]
Именно сохранения. Использую Pandas для обработки и форматирования больших массивов данных.
0
578 / 411 / 69
Регистрация: 09.01.2018
Сообщений: 1,363
03.03.2021, 21:28
А вы не сделали то, что я вам посоветовал. Иначе вопроса бы больше не было. Печально.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.03.2021, 21:28
Помогаю со студенческими работами здесь

Работа с pandas dataframe (имена колонок)
Добрый день. Работаю с базой https://archive.org/details/201309_foursquare_dataset_umn файл checkins.dat Для работы необходимо...

pandas - подготовить dataframe для загрузки в реляционную СУБД
Добрый день! Есть dataframe с 4 полями-категориями. Как выделить категории в отдельные dataframe, поместив в первоначальном индексы? ...

Форматирование массива в pandas
Не подскажите как из массива вида сделать массив вида , , ... ]. Что-то туплю, никак не могу найти.

Перемножение 2х столбцов в DataFrame
Здравствуйте! Учусь работать с pandas, возникла такая трудность: требуется перемножить количество на цену, затем сгруппировать каждый...

Название столбцов в DataFrame Pandas перепутаны. как исправить?
Приветствую! Подскажите, как проще всего вернуть нормальные подписи столбцов в ДФ? Они явно перепутаны.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru