Вопросы с тегами [dataframe]

1

голосов
2

ответ
44

Просмотры

python efficient way to append all worksheets in multiple excel into pandas dataframe

У меня есть около 20 ++ файлов XLSX, внутри каждого XLSX файлы могут содержать разное количество рабочих листов. Но, слава богу, все столбцы являются некоторыми во всех рабочих листах и ​​всех XLSX файлов. Ссылаясь на здесь «, я получил некоторое представление я пытался несколько способов импортировать и присоединять все первенствует файлы (все рабочего листа) в единый dataframe (около 4 миллиона строк записей). Примечание: я сделал чек здесь», как хорошо, но это только включить на уровне файлов, мой consits файл и вплоть до уровня рабочего листа. Я попытался ниже код # импорта всех необходимых пакета импорта панд, как э.р. из pathlib импорта Путь импорта Глоб импорт SYS # набора истока source_dataset_path = "C: / Users / AAA / Desktop / Sample_dataset /" source_dataset_list = glob.iglob (source_dataset_path + " сделки купли-продажи * ") для файла в source_dataset_list: #xls = э.р.. ExcelFile (source_dataset_list [I]) sys.stdout.write (ул (файл)) sys.stdout.flush () XLS = pd.ExcelFile (файл) out_df = pd.DataFrame () ## создать пустой выходной dataframe для листа в XLS .sheet_names: sys.stdout.write (ул (лист)) sys.stdout.flush () ## # Просмотр первенствовать имена файлов листов #df = pd.read_excel (source_dataset_list [я], название_листа = листов) DF = э.р.. read_excel (файл, SheetName = лист) out_df = out_df.append (ДФ) ## Это будет добавлять строки одного dataframe к другому (так же, как ожидаемому выход) Вопрос: Мой подход подобно первому прочитать каждый первенствовать архив и получить список листов внутри него, а затем загрузите листы и добавлять все листы. Перекручивание кажется не очень эффективным EXPECIALLY когда DataSize увеличения для каждого добавления.
yc.koong
0

голосов
0

ответ
5

Просмотры

Как извлечь вложенную главы из PDF-документов в R (с помощью ТОС)?

Я извлечения текста из PDF-документов в R. у меня есть документы в формате PDF со встроенными оглавлений (КТВ), которые имеют много подглавы как 2.31.1.2 и т.д. Для дальнейшей обработки текста, я хочу, чтобы создать фрейм данных, где каждый суб -chapter рассматривается как вектор DF. Теперь мой вопрос: Есть ли способ, чтобы использовать встроенный TOC с помощью функции pdf_toc пакета PDFTools или функции heading_search пакета pdfsearch или вы могли бы порекомендовать мне преобразовать весь текст в большую строку, а затем попытаться разделить суб -Разделов с помощью Regex? Любая помощь высоко ценится. Пример данных: doc_id
Sophie
1

голосов
1

ответ
715

Просмотры

Характер вектор длина 1 все, кроме первого элемента будет игнорироваться ошибками при фильтрации данных в Блестящей Применение

У меня есть следующие Блестящая Применение: библиотека (блестящая) библиотека (rhandsontable) библиотека (shinydashboard) библиотека (ggplot2) библиотека (dplyr) setwd ( "C: / Users / Marc / Dropbox / PROJECTEN / Lopend / shiny_interactive_graph") чириканье
Henk Straten
1

голосов
2

ответ
407

Просмотры

Фильтр dataframe вектором имен столбцов и постоянных имен столбцов

Это, конечно, легко, но для жизни меня я не могу найти правильный синтаксис. Я хочу, чтобы все «ID_» столбцы, независимо от числа столбцов и числа присоединенных и сохранить другие столбцы постоянным именем. Что-то вроде ниже команды, которая не работает (на воспроизведенных данных, каждый раз): ### Не работает, но показывает, что я пытаюсь сделать testdf1
Neal Barsch
1

голосов
2

ответ
67

Просмотры

Как повторить наблюдения в зависимости от значений другой переменной

Я хочу повторить наблюдения на основе значений переменной iptw для создания псевдо-популяций для дальнейшего анализа. Например, если iptw = 4,5, то вес = 5 должен быть создан, и наблюдение / строка умножается на 5. Аналогично, если iptw = 2,3, то вес = 2, и эта строка умножается на 2, что эквивалентно добавлению соответствующее наблюдение дважды в кадре данных. Вот мой набор данных: dtNEW
Krantz
1

голосов
2

ответ
42

Просмотры

Ошибка: Тоо много значений для распаковки (ожидаются 2), при попытке перебрать два столбца в кадре данных

для L, M в laundry1 [ 'широта'], laundry1 [ 'долгота']: печать ( 'широта: -') печать (L) печать ( 'долгота: -') печати (M) я пытаюсь итерацию над две колонки дата-кадра, назначая там значение L & M и печать там значение, но это показывает ошибку «слишком много значений для распаковки (ожидаемый 2)» вид набора данных с учетом ошибок -> Введите описание изображения здесь пример вывода : широта: - 22.1449787 18,922290399999998 22,1544736 22,136872 22,173595499999998 долгота: - -101,0056829 -99,234332 -100,98580909999998 -100,9345736 -100,9946027
Adarsh singh
1

голосов
2

ответ
26

Просмотры

множественный индекс столбцов в панде

У меня есть dataframe в панд: (индекс) количество 0,0 0 0,0 1 +73,74770979 +34,36146516000001 1,0 0 1,0 1 +25,759792399999995 +117,37044276999995 Я хотел бы иметь DataFrame как этот: Индекс amount_0, amount_1 0,0 73 .... 34 ... 25 1.0. ... 117 ... как я могу это сделать. Мой индекс столбец состоит из столбцов «часа» и «стороны».
FNTE
1

голосов
2

ответ
70

Просмотры

не Конкатенация панд DataFrames с перекрытием индексов, но никогда не пересекающиеся значений

У меня есть два DataFrames произвольной формы типа: ABC 0 A0 B0 C0 1 А1 В1 С1 2 А2 В2 NaN 3 А3 NaN NaN 4 А4 NaN NaN и АВС 2 NaN NaN С2 3 NaN B3 С3 4 NaN В4 С4 5 A5 B5 C5 6 A6 B6 C6 два DataFrames имеют перекрывающиеся индексы. Там, где существует перекрытие, для данного столбца, есть не-NaN в одном DataFrame и NaN в другом. Как можно объединить эти такие, что можно достичь DataFrame со всеми значениями и никаких пренебрежимо малых: ABC 0 A0 B0 C0 1 А1 В1 С1 2 А2 В2 С2 3 А3 В3 С3 4 A4 B4 C4 5 A5 B5 C5-6 A6 B6 C6 Мои предложил решение: DF3 = pd.concat ([pd.concat ([df1 [Col] .dropna (), df2 [Col] .dropna ()]) окра в df1.columns], оси = 1) Тем не менее, в идеале я не будет работать столбец за столбцом.
LevDavidovich
1

голосов
2

ответ
31

Просмотры

Average of Dataframes

Предположим, у меня есть три dataframes с одинаковым индексом и те же столбцы названий (некоторые столбцы строки другие числовые): df1, df2, DF3. df1 часы | X1 | X2 | X3 | Х4 0 | 10 | H | 2 | -1 1 | 10 | б | 1 | 0 2 | 10 | D | 1 | 0 3 | 20 | L | 1 | 0 df2 час | X1 | X2 | X3 | Х4 0 | 10 | H | 1 | 1 1 | 10 | б | 1 | 0 2 | 10 | D | 1 | 0 3 | 20 | L | 2 | 0 DF3 час | X1 | X2 | X3 | Х4 0 | 10 | H | 0 | 0 1 | 10 | б | 0 | 0 2 | 10 | D | 0 | 0 3 | 20 | L | 0 | 30 Я хочу, чтобы новый dataframe, который является средним значением этих dataframes для числовых значений, но сохранить строку Колум как (все столбцы со строками являются одинаковыми). df4 = Час | X1 | X2 | X3 | Х4 0 | 10 | H | 1 | 0 1 | 10 | б | 1 | 0 2 | 10 | D | 1 | 0 3 | 20 | L | 1 | 10 Я предпочитаю делать это с помощью добавления функции, как я должен написать цикл для доступа к каждому кадру данных. Спасибо!
user2512443
1

голосов
1

ответ
39

Просмотры

Reshaping data frame [duplicate]

This question already has an answer here: Reshape multiple values at once 2 answers I have some problems with converting my data from one table to another. At this moment I use 2 'for' loops and it is quiet time consuming for my dataset (>50,000 variables). In the output there is unique 'Name' with all information for the Name in the row. Any suggestions how to solve it? My dataset: Date_Y Name Amount Score 2010 A 150 1.8 2011 A 120 1.2 2012 A 175 1.3 2010 B 160 1.9 2011 C 120 1.0 2012 C 110 2.0 2013 C 155 3.0 Target dataset: Name Amount_2010 Amount_2011 Amount_2012 Amount_2013 Score_2010 Score_2011 Score_2012 Score_2013 "A" "150" "120" "175" "NA" "1.8" "1.2" "1.3" "NA" "B" "160" "NA" "NA" "NA" "1.9" "NA" "NA" "NA" "C" "NA" "120" "110" "155" "NA" "1" "2" "3" My current code: rm(list = ls()) df
Lohengrin
1

голосов
2

ответ
48

Просмотры

Маска нижней части triangluar панд DataFrame

Это выходной dataframe я генерация, которая является корреляционной матрицей 5 х 5. ABCDE 1,00000 0,653920 -0,277360 -0,479600 0,513890 1,000000 -0,27736 Б -0,790648 0,885801 -0,482763 С 0,65392 1,000000 -0,790648 -0,876451 0,672148 0,885801 D -0,47960 1,000000 -0,876451 -0,756182 Е 0,51389 0,672148 -0,482763 -0,756182 1,000000 Я хотел бы для получения общее среднее значение этого dataframe, но для этого мне нужно игнорировать повторяющиеся значения (оставляя только первое вхождение). Я попытался с помощью df.drop_duplicates (Inplace = True) Однако, она возвращает ФР без изменений, который я считаю, это потому, что drop_duplicates () будет удалять строки, но не заменять отдельные клетки с NaN. Любые предложения о том, как достичь этого? (Требуемый выход ниже) Обратите внимание, что I» d также необходимо специфический удалить корреляции == 1, так как они не являются необходимыми. ABCDE NaN -0,277360 0,653920 0,513890 -0,479600 В NaN NaN -0,790648 0,885801 -0,482763 С NaN NaN NaN -0,876451 0,672148 D NaN NaN NaN NaN -0,756182 Е NaN NaN NaN NaN NaN
pepe
1

голосов
2

ответ
49

Просмотры

Извлечение п-й элемент из каждого списка и хранить его в новой колонке [дублировать]

Этот вопрос уже есть ответ здесь: Python Панда: выбор элемента в столбце массива 2 ответов я в dataframe (так называемый «DF»), который содержит столбец под названием «сорт». Этот столбец содержит список классов. Данные в этой колонке типа «объект». student_id сорта 0 11 [А, А, В, А] 1 12 [В, В, В, С] 2 13 [С, С, D, B], 3 21 [В, А, С, В] Я надеюсь чтобы создать новую колонку под названием «maths_grades», который будет хранить 3-й элемент в списке классов. Результат: student_id сортов maths_grade 0 11 [А, А, В, А] В 1 12 [В, В, В, С] В 2 13 [С, С, D, B], D 3, 21 [В, А, С , B] C Что лучше всего было пойти по этому поводу?
Mark Kennedy
1

голосов
2

ответ
37

Просмотры

Как обменять даты из цикла в массив, в Python?

Я хотел бы спросить, как обменять даты из цикла в массив, в Python? Мне нужен массив нерегулярных, случайных дат с часами. Таким образом, я подготовил решение: импорт DateTime импорта радар r 2 = () для в диапазоне (1,10): r 2 = R2 + (radar.random_datetime (начало = '1985-05-01', стоп = '1985-05- 04' ),) r3 = лист (r2) печать (r3) в результате я получаю список как: [datetime.datetime (1985, 5, 3, 17, 59, 13), datetime.datetime (1985, 5, 2, 15, 58, 30), datetime.datetime (1985, 5, 2, 9, 46, 35), datetime.datetime (1985, 5, 3, 10, 5, 45), datetime.datetime (1985, 5 , 2, 4, 34, 43), datetime.datetime (1985, 5, 3, 9, 52, 51), datetime.datetime (1985, 5, 2, 22, 7, 17), datetime.datetime (1985, 5, 1, 15, 28, 14), datetime.datetime (1985, 5, 3, 13, 33, 56)] Но мне нужна строка в списке, как: песни2 = [ '1985-05-02 8:48: 46' , '1985-05-02 10:47:56'
1

голосов
1

ответ
44

Просмотры

Рамка Split данных в N кадров передачи данных на основе имен столбцов

У меня есть большие объемы данных (тысячи колонн) кадр, в котором несколько столбцов имеют дублированное имя столбца. Тогда, есть множество имен столбцов, в которых часть имени столбца, который является дубликатом, а другая часть того же имя столбца не является. Используя R и выше двух свойств, я хочу разделить все такие столбцы в разные кадры данных для дальнейшего анализа. Для достижения этой цели я хочу запустить следующие динамической логики в кадре данных: во-первых: Найти и cbind () дублирует столбцов имя столбца в разных данных. Если 10 столбцов имеют такое же имя столбца, они формируют фрейм данных, а другие еще 5 с таким же именем столбца образуют другой фрейм данных. Во-вторых: Найти и cbind () дублирует имя колонки столбцов в разные кадры данных, если строка имени столбца раньше - совпадает со строкой из имени столбца перед - для другого столбца и строки имени столбца после - не совпадает с частью имени столбца после того, как - для другого столбца. Ниже приведен пример входных данных (большие данные слишком большой, но следует точно таким же свойством), для которых первые два столбца образуют один кадр данных на основе выше примере. Там будет еще один кадр данных, который будет содержать столбцы, начиная от трех до последнего. Я попытался разделить (), но это не выработала до сих пор. Любые предложения о том, как я могу это сделать? Структура Пример ввода данных (список ( `A-DIODE` = с (1.2, 0.4),` А-DIODE` = с (1.3, 0.6), `B-DIODE` = с (1.4, 0.8),` B-ACC1 `= с (1,5, 1),` B-ACC2` = с (1.6, 1.2), `B-ANA0` = с (1.7, 1.4),` B-ANA1` = с (1.8, 1.6),
Chetan Arvind Patil
1

голосов
3

ответ
50

Просмотры

Adding in missing months to a dataframe with null values

У меня есть DataFrame, что я пытаюсь найти частоту определенных событий с. Так, например, она указана в следующем Месяц Год Событие UniqueID 1 2018 A 01 1 2018 A 02 2 2018 B 03 .... и т.д. У меня есть все, сгруппированных по частоте события в год. Я сделал это с помощью следующего кода. Это подсчитывает все события, так что я могу усреднить их df.groupby ([ 'Year', 'Месяц', 'Event']) [ 'Event']. Размер (). Переименовывать ( 'Граф событий'). Reset_index ( ) что дает нам что-то вдоль линий год месяц события Количество событий 2018 года 01 A 2 02 2018 B 1 ... А потом я получаю в среднем, как часто бывает в месяц в течение всего года с помощью df.groupby ([ 'Event']) [ 'Граф событий']. значит (), который дает мне в среднем. Однако одна вещь, которую я заметил, что у меня может быть пробелов. Например, событие «А», может произойти в январе и феврале, но не март, так что это не даст мне истинное «среднее» в течение года. Что было бы лучшим способом «затыкать» Эти дыры? Например, в приведенном выше примере списке, граф Месяц Год События События 1 2018 02 1 2018 B 00 1 2018 C 00 2 2018 00 2 2018 B 00 2 2018 B 01 ... Был бы оптимальный конечный результат, прежде чем я усреднить. Спасибо! Месяц Число Год Событие События 1 2018 02 1 2018 B 00 1 2018 C 00 2 2018 00 2 2018 B 00 2 2018 B 01 ... Был бы оптимальный конечный результат, прежде чем я усреднить. Спасибо! Месяц Число Год Событие События 1 2018 02 1 2018 B 00 1 2018 C 00 2 2018 00 2 2018 B 00 2 2018 B 01 ... Был бы оптимальный конечный результат, прежде чем я усреднить. Спасибо!
remh
1

голосов
2

ответ
37

Просмотры

Список для dataframe, каждый элемент в списке в колонке

Ho все, я хочу, чтобы создать dataframe из списка, где каждый элемент из списка является столбец. Пример: Col 0 A_1 1 А_2 2 A_1 3 B_3 4 B_2 Я хочу иметь dataframe как этот Col1. col2 0 A. 1 1. 2 2 B. 3 3 B. 2 .... расщеплены «_» и сделать два столбца и удалить дубликаты Заранее спасибо
noaai
1

голосов
1

ответ
28

Просмотры

Найти единый индекс, соответствующий dataframe строки 2 колонки условными

У меня есть dataframe с 3 столбцами и мне нужно, чтобы получить индекс строки, которые соответствуют значениям с 2-мя колоннами. Например, ниже dataframe: Имя Город Страна Pietro Roma Италия Maria Милан Италия Pietro NY USA В этом случае, мне нужно, чтобы получить индекс Pietro | Roma | Италия, seaching для имени и только те столбцы города. Я пытался делать код, приведенным ниже, но он возвращает все строки, который соответствует 2 столбцов. IDX = np.where (dataframe [dataframe [ "Name"] == 'Pietro'], dataframe [dataframe [ "Город"] == 'Roma']) Но она возвращает массив индексов [[0,2], [0]], и мне нужно, чтобы вернуть индекс 0, что где у меня есть имя = 'Pietro' и City = 'Roma' Обновлены решение решение: dataframe.index [(dataframe [ "Name"] == 'Pietro' ) & (dataframe [ "Город"] == 'Рома'
Alan Gularte
1

голосов
2

ответ
28

Просмотры

Найти строки из панда DataFrame, если есть другая строка соответствия некоторых условий в данном

Например, если у меня есть DF, как следующее: п от км до 0 B 300 A 1 A 300 B 2 D 290 A 3 B 310 С 4 290 Д. И. хотел бы выбрать строки 0, 1, 2 и 4, так как они все они имеют другую строку в том же DF, который перевернутый от и до. df2 = pd.DataFrame (столбцы = [ 'до', 'с', 'км']) для индекса, строки в df.iterrows (): F, T = строка [ 'от'], строка [ 'до'] если ((DF [ 'до'] == е) и (DF [ 'от'] == т)) любой ():. df2 = df2.append (строка)> df2 до 0 км от AB 300 1 300 BA 2 AD 290 4 DA 290 можно ли сделать это без итерации по строкам?
zhantongz
1

голосов
3

ответ
52

Просмотры

Использование purrr применить фильтр и мутируют на основе другого набора данных

Я пытаюсь использовать purrr применить фильтр и мутировать переменную, как на основе значений другого кадра данных. # Это исходная таблица set.seed (100) dfOriginal
info_seekeR
1

голосов
3

ответ
32

Просмотры

Как получить индексы строк, который имеет значения х количество функций же отличаясь одна особенность?

Образец DataFrame: pd.DataFrame ({ 'Name': [ 'Джон', 'Питер', 'Джон', 'Джон', 'Donald'], 'Город': [ 'Boston', 'Япония', 'Бостон' «Даллас», «Япония»], «Возраст»: [23,31,21,21,22]}) То, что я хочу, чтобы получить список индексов всех строк, который имеет ту же «Имя» и «Город» но разный возраст, с помощью панд. В этом случае: он должен вернуться [0,2]
Naushad Shukoor
1

голосов
1

ответ
98

Просмотры

Отбросьте dataframe столбцы, где значение строки, как «[]»

В моем dataframe есть несколько строк, в которых значение равно как и «[]», и я хочу бросить весь столбец, как сделать это? Данные рамки Image И вот мой код импорта повторно для я, строка в df.iterrows (): для J, колонки в row.iteritems (): #print (колонка) #print (к) т = re.findall ( "\ [ \]», колонка), если т: df.drop (у, ось = 1, Inplace = True) еще: печать ( 'Nothing' + J) и вот ошибка я получаю TypeError Traceback (самый последний вызов последнего) в 3 # печать (колонка) 4 #print (J) ----> 5 т = re.findall ( "\ [\]", столбец) 6, если т: 7 df.drop (J, ось = 1, Inplace = True) /anaconda3/lib/python3.7/re.py в FindAll (шаблон, строка,
Vijayaraghavan
1

голосов
2

ответ
29

Просмотры

Использование если / другое в Dataframe.assign () приводит к ValueError: Значение истинности Серии

У меня есть тонна данных преобразования, определенные в пакете язык, который поддерживает эту структуру преобразования: х = IIF (условие, а, б). Я хочу, чтобы переписать эти используя dataframes. Я использую Dataframe.assign (), но получить ValueError: Значение истинности Серии неоднозначно. Использование a.empty, a.bool (), a.item (), a.any () или a.All (). импорт панды как Pd DF = pd.DataFrame ([ 'яблоко', 'оранжевый', 'гранит'], столбцы = [ 'имя']) df.assign (вкус = лямбда х: 'каменистый', если (x.name = = 'гранит') еще 'вкуснятина') ---------------------------------------- ----------------------------------- ValueError Traceback (самый последний вызов последнего) в () ---- > 1 df.assign (вкус = лямбда х: 'каменистый', если (x.name == 'гранит') Else 'вкуснятина' Значение истинности Серии неоднозначно. Использование a.empty, a.bool (), a.item (), a.any () или a.All (). Сначала я думал, что это было связано с ограничением числа ключевых слов, разрешенных в правопреемника (), но очень похожая конструкция работает с применить ():. Д.Ф. [ «имя»] применить (лямбда-х: «каменистый», если (х == «гранит») еще «вкуснятина») 0 вкуснятина 1 вкуснятина 2 каменистого имя: имя, DTYPE: объект Однако это не позволяет мне использовать с условием, если-то использует несколько столбцов из dataframe. Есть ли способ, чтобы получить Assign () для работы? вкуснятина ') 0 вкуснятина 1 вкуснятина 2 каменистого Имя: имя, DTYPE: объект Однако это не позволяет мне использовать с условием, если-то использует несколько столбцов из dataframe. Есть ли способ, чтобы получить Assign () для работы? вкуснятина ') 0 вкуснятина 1 вкуснятина 2 каменистого Имя: имя, DTYPE: объект Однако это не позволяет мне использовать с условием, если-то использует несколько столбцов из dataframe. Есть ли способ, чтобы получить Assign () для работы?
Scott Wilson
1

голосов
2

ответ
45

Просмотры

what is different between groupby.first, groupby.nth, groupby.head when as_index=False

Edit: новобранец ошибка, которую я сделал в строке np.nan указав путем @coldspeed, @ вэнь-Бен, @ALollz. Ответы довольно хорошо, так что я не удалить этот вопрос, чтобы ответы на эти вопросы. Оригинал: Я прочитал этот вопрос / ответ Какая разница между groupby.first () и groupby.head (1)? Этот ответ объяснил, что различия по обработке значения NaN. Однако, когда я называю GroupBy с as_index = False, они оба подобрать NaN штраф. Кроме того, Панды имеют groupby.nth с аналогичной функциональностью на голову, и в первую Что разница groupby.first (), groupby.nth (0), groupby.head (1) с as_index = False? Пример ниже: В работе [448]: ДФ Из [448]: АВ 0 1 np.nan 1 1 4 2 1 14 3 2 4 8 2 19 5 2 12 В работе [449]: df.groupby ( 'А', as_index = False) .Head (1) Из [449]: AB 0 1 нп. нан 3 2 8 В [450]: df.groupby ( 'A', as_index = False) .first () Из [450]: AB 0 1 1 2 np.nan 8 в [451]: df.groupby (A ' 'as_index = False) .nth (0) Из [451]: АВ 0 1 2 3 np.nan 8 Я видел, что `пихты ()' сбрасывает индекс, а другой 2 не делает. Кроме того, есть ли какое-либо различие?
Andy L.
1

голосов
2

ответ
22

Просмотры

Create a matrix using the common information in two lists

У меня есть два больших списков в одной и ту же структуру игрушечных примеров, показанных в этом вопросе. dput (руководитель (песни1)): список (FEB_games = список (game1 = с ( "Stan", "Кенни", "Картман", "Кайл", "Баттерс"), Game2 = с ( "Kenny", "Картман" "Кайл", "Баттерс")), MAR_games = список (Game3 = с ( "Stan", "Кенни", "Картман", "Баттерс"), Game4 = с ( "Kenny", "Картман", «Kyle », "Баттерс"))) dput (руководитель (песни2)): список (первая = с ( "Stan", "Кенни", "Картман", "Кайл", "Баттерс", "Кенни", "Картман", "Кайл", "Баттерс"), второй = с ( "Стан", "Кенни", "Картман", "Венди", "Айк"), третий = с ( «Рэнди», «Рэнди», «Рэнди», «Рэнди»)) Я хотел бы, чтобы превратить эти два списка в один большой data.frame / матрицу. В rownames бы быть второй уровень имен списка из list1 (game1, Game2, Game3, Game4). В COLNAMES бы имена список из списка 2 (первое, второе, третье). Информация в матрице будет целое число, которое относится к числу раз общий характер обнаруживается в обоих списке. например GAME1xfirst содержит 9 общих символов, в то время как GAME1xthird содержит 0. Выхода будет выглядеть следующим образом: первый второй третий game1 9 3 0 Game2 8 2 0 Game3 8 3 0 Game4 8 2 0 Таким образом, значение в [1,1] было бы сумма времен общий характер найден и в списке game1 из списка 1 и первый список найденных в list2. Заметка.
Krutik
1

голосов
2

ответ
29

Просмотры

Append значения в колонке для запуска другого столбца, который содержит список

У меня есть Dataframe, который содержит следующие значения ключевых слов Синонимы 0 пуха [волосы, медь, свиньи, быка, полицейский, размытие] 1 салфетки [таблица] 2 рационализаций [систематизации, рационализации] 3 гроссмейстеры [гроссмейстера] 4 репетировать [Практика] Для цель создания выпадающего меню на более позднем этапе, как бы я добавить значение в колонке ключевых слов в начале каждого списка в столбце синонимами? Мой код выглядит следующим образом:. Д.Ф. [ ''] Синонимы = pd.concat ([ф.р. [ 'Ключевое слово'] присоединять (ДФ [ ''] Синонимы)
Gavin Fitzpatrick
0

голосов
0

ответ
5

Просмотры

Сортировка dataframe по дате и переменной в R

Мне нужно, чтобы отсортировать ниже dataframe, основываясь на дате и переменной состоят в том же столбце. DF Дата Значение 2019-01-01 445 AER_ST 220 BER_TT 225 2019-01-02 100 AER_ST 75 BER_TT 25 Я хочу ФР в указанном ниже формате с последней датой заказа нисходящего. DF2 Дата Значение 2019-01-02 100 AER_ST 75 BER_TT 25 2019-01-01 445 AER_ST 220 225 BER_TT Я попытался указанной ниже способом. DF $ новый
bit450098
1

голосов
0

ответ
41

Просмотры

Как сделать Спарк работник чтения данных из локальной MongoDB с MongoDB-искровым разъем?

У меня два «MongoDB» на двух компьютерах. И есть также «Спарк работник» на каждом компьютере. Но когда я запускаю «искру», он не читает данные из локального «MongoDB». Вместо этого он читает от одного из них. Таким образом, получили только частичные данные. Существует страница. https://docs.mongodb.com/spark-connector/master/faq/ .Однако, после того, как я прочитал это, я не понимаю, как настроить на всех.
BobXWu
1

голосов
1

ответ
57

Просмотры

Фильтрация по путанице даты и времени

У меня есть объект DateTime, который не является индексом, и когда я фильтровать по: DF = D [(DF [ ''] LOCAL_TIME> = datetime.date (2015,2,18))] DF = df.sort_values ​​( 'LOCAL_TIME », восходящие = [Да]) почему df.head (1) показать 2-17-2015, как первый день, когда им с помощью:> = datetime.date (2015,2,18)
Danny W
1

голосов
0

ответ
103

Просмотры

Assigning a column to a SparseDataFrame

Consider - df = pd.DataFrame({"a":[1,2,3]}) df a 0 1 1 2 2 3 I'd like to do two things: Convert the dataframe to sparse with a default fill value of False Assign a column of all False values to this sparse dataframe Here's two seemingly similar approaches I've come up with. First method; assign the column and convert the result to sparse. df.assign(newcol=False).to_sparse(fill_value=False) a newcol 0 1 False 1 2 False 2 3 False Second method; first convert to sparse and then assign the column. df.to_sparse(fill_value=False).assign(newcol=False) a newcol 0 1 0.0 1 2 0.0 2 3 0.0 These 0.0s threw me off. FWIW, this similar-to-the-second method also seems to work properly, giving False instead of 0.0 - df = df.to_sparse(fill_value=False) df['newcol'] = pd.SparseSeries([False] * len(df), dtype='bool_', fill_value=False) df a newcol 0 1 False 1 2 False 2 3 False I'm confused by why two seemingly similar methods produce radically different outputs. What's the correct way to do this, and why is there a difference between these outputs?
cs95
1

голосов
0

ответ
747

Просмотры

создать таблицу в sqllite с помощью dataframe

Я новичок в sqllite3 и пытаемся понять, как создать таблицу в SQL среды, используя свой существующий dataframe. У меня уже есть база данных, которую я создал, как «pythonsqlite.db» #import моего файла CSV для импорта питона панд, как П.Д. my_data = pd.read_csv ( «my_input_file.csv») ## подключения к импорту базы данных sqlite3 соппы = sqlite3.connect (» pythonsqlite.db ") ## нажмите dataframe к SQL my_data.to_sql (" my_data "Conn, if_exists = "заменить") ## создать таблицу conn.execute ( """ создать таблицу my_table, как выбрать * из my_data "" «) Тем не менее, когда я перейти к моей SQLlite студии и проверить таблицы под моей базе данных, я не могу увидеть таблицу я создал. Я бы очень признателен, если кто-то говорит мне, что я здесь отсутствует.
Cagdas Kanar
1

голосов
1

ответ
910

Просмотры

Сохранить искровой dataframe схемы для HDFS

Для кадра с учетом данных (Df) мы получаем схему по df.schema, который представляет собой массив StructType. Могу ли я сохранить именно эту схему на HDFS, во время работы с искровой оболочки? Кроме того, что будет лучший формат, в котором схема должна быть сохранена?
Ashwin
1

голосов
1

ответ
150

Просмотры

как разделить ДИКТ столбец из панд кадра данных

Расщепление словарь / список внутри колонны панды на отдельные столбцы> Вышеуказанный ссылка предоставления какое-то решение на мой ответ, но у меня такая же проблема с немного отличается на входе. здесь мой DF: DF = pd.DataFrame ({ 'а': [1,2,3], 'B': [[{ 'с': 1}, { 'с': 3}], { 'D' : 3}, { 'с': 5 'd': 6}]}) My ДИКТ снова содержит список dicts для Key "б". Мой ожидается O / P: [ас с1 д 0 1 1,0 3 1 2 NaN NaN NaN 3,0 2 3 5,0 NaN 6,0] [1] могли бы вы помочь.
Rakesh Bhagam
1

голосов
0

ответ
560

Просмотры

Искра работы dataframe запись в Oracle с помощью JDBC упущения

При написании искровой dataframe к базе данных Oracle (Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64-битный), искра работа терпит неудачу с java.sql.SQLRecoverableException исключения: Ошибка ввода-вывода: Сетевой адаптер не может установить соединение. Код Scala является dataFrame.write.mode (SaveMode.Append) .jdbc ( "JDBC: оракул: тонкий: @" + ipPort + ":" + с.и.д., стол, реквизит) Уже попытался установить ниже свойство для соединений JDBC, но hasn» т работал. props.put ( "водитель", "oracle.jdbc.OracleDriver") props.setProperty ( "testOnBorrow", "правда") props.setProperty ( "testOnReturn", "ложь") props.setProperty ( "testWhileIdle", "ложь ") props.setProperty (" validationQuery», "SELECT 1 FROM DUAL") props.setProperty ( "autoReconnect", «Правда») на основе предыдущих результатов поиска, то кажется, что соединение открыто изначально, но был убит брандмауэром через некоторое время простоя. URL соединения проверяется и работает как выберите запросы работают отлично. Нужна помощь в получении этого решить.
Abhishek Joshi
1

голосов
1

ответ
598

Просмотры

Как применять df.min () и df.max () распределено в течение многих DataFrames

У меня есть список DataFrames, все с теми же колоннами, и хотел бы, чтобы нормализовать значения в каждом из них на [0, 1], в то же время сохраняя относительное масштабирование значений между DataFrames. Для одного DataFrame, я мог бы просто сделать: DF = (DF - df.min ()) / (df.max () - df.min ()) Но, как я мог бы получить минимальные и максимальные значения для каждого столбца по все DataFrames, а затем применить ту же формулу, как указано выше для каждого отдельного DataFrame, с использованием коллективного минимального и максимального значения для каждого столбца? Ниже приведен примерный список 2 DataFrames, на котором каждый DataFrame нормализуется по отдельности: импорт NumPy, как нп импортных панд как PD = ДФС [] для г в диапазоне (2): данные = np.random.rand (3, 3) DF = pd.DataFrame (данные, столбцы = [ "один", "два", "три"]) dfs.append (DF) печати (DF) для г в диапазоне (2):
KOB
1

голосов
2

ответ
1.6k

Просмотры

вычитания двух столбцов из панд dataframe и сохранить результат в третьей колонке [закрыто]

У меня есть DataFrame, Д.Ф., с 3-мя колоннами, и я хочу, чтобы выполнить вычитание следующим образом: DF [ «доступные»] = D [ «рекомендуемых»] - Df [ «ручной ввод»] Но я получаю сообщение об ошибке с указанием: неподдерживаемый операнда Тип (ы) -:. «межд» и «ул» Я также пробовал делать ФР [ «доступного»] = D [ «рекомендуемого»] к югу (ДФ [ «ручного ввода»]), но он показывает ту же ошибку. Кроме того, я хотел бы знать, что это возвращает серию, если мы пытаемся получить определенный столбец из dataframe ??
Rishikesh
1

голосов
1

ответ
76

Просмотры

R - Как создать список фреймов данных и записать их в Excel с lapply

Так что это может быть довольно нюансы, но основы я борюсь с это: с помощью lapply для фильтрации несколько основного кадра данных, чтобы создать ряд небольших кадров данных. Сочетание этих маленькие кадры данных (которые связаны, потому что они имеют фильтр) в нескольких листов Excel документа. У меня есть эти пакеты включены: библиотека (plyr); библиотека (dplyr); библиотека (XLConnect); библиотека (rJava); библиотека (xlsxjars); библиотека (XLSX); библиотека (tidyr) Я могу получить желаемый результат очень вручную, но я уверен, что есть способ использовать такие функции, как lapply (или, может быть, еще одна из функций применяются) для того, чтобы запустить это немного быстрее. Мои исходные данные гораздо больше, поэтому я буду использовать следующий пример: df1 Код Цвет Значение [1] Красный 10 [2] Синий 15 [3] Красный 5 [4] В Зеленом 20 [5] B Красного 15 [6] C зеленого 10 df2 код Уровня Значения [1] Все 150 [5] B Все 200 [6] C Все 500 ради этого примера, давайте предположим, что DF1 и df2 не связаны между собой за исключением того факта, что они имеют «кодекс». Я начинаю с двух списков, которые определяют, какие коды принадлежат каждому «Человек» (где каждый человек имеет уникальный список «кодов», но эти «Коды» может принадлежать более чем одному человеку). JoeCodes Я начинаю с двух списков, которые определяют, какие коды принадлежат каждому «Человек» (где каждый человек имеет уникальный список «кодов», но эти «Коды» может принадлежать более чем одному человеку). JoeCodes Я начинаю с двух списков, которые определяют, какие коды принадлежат каждому «Человек» (где каждый человек имеет уникальный список «кодов», но эти «Коды» может принадлежать более чем одному человеку). JoeCodes
R. Kersting
1

голосов
1

ответ
31

Просмотры

Не будучи в состоянии добавить столбец (Python)

Таким образом, я запустить определенный расчет в цикле, и получили результаты, которые хранятся в списке-store1: для ст в store1 [: 10]: печать (ST) 0 4 1 0 0 1 2 3 1 1 я имею dataframe дд, и я хотел бы добавить значения store1 к нему в качестве отдельного столбца. Я запустить следующий код: прп в store1 [40000]: дд [ «Parts_needed»] = й Но вместо фактических значений, что я получаю это: dd.Parts_needed.head (10) Из [40]: 0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 2 Может ли кто-нибудь помочь мне здесь? Большое спасибо.
IndigoChild
0

голосов
1

ответ
14

Просмотры

Как найти позицию столбца для первого совпадения

У меня есть dataframe, который имеет 500K строк и 200 столбцов. Мне нужно найти индекс первого нуля в столбце каждой строки. Если бы я не мог найти какой-либо нуль в ряде, я должен видеть, как 999. Спасибо за вашу помощь любезной. Это мой пример: а = { 'А': [1,2,5,7,0,9], 'B': [6,5,0,0,7,2], 'C': [0 , 8, np.nan, 10,0,6], 'D': [np.nan, 9,5,2,6,7], 'E': [1,4,6,3,3,6 ]} aidx = [ 'ID_1', 'ID_2', 'id_3', 'id_4', 'id_5', 'id_6'] DF = pd.DataFrame (а, индекс = aidx) защиту get_col (DF, Num): df_num = DF == Num df_num = df_num [df_num.any (ось = 1)]. idxmax (ось = 1) возвращение (df_num) df_new = pd.DataFrame (get_col (DF, 0)) = df_need pd.DataFrame ([2999 , 1,1,0,999], индекс = aidx)
patronlargibi
1

голосов
1

ответ
154

Просмотры

Присвоить значения из pandas.quantile

Я просто пытаюсь получить квантили в dataframe asigned на к другой dataframe как: dataframe [ «ПК»] = dataframe [ «строка»] квантиль ([1, 0,5, 0,7.]) Результат 0 NaN. ... 5758 NaN Имя: ПК, длина: 5759, DTYPE: float64 любую идею, почему dataframe [ 'строка'] есть много значений
Sentinan
1

голосов
0

ответ
29

Просмотры

Создание и название многих суб ДФ с помощью df.loc

У меня есть dataframe с идентификатором продукта, местоположение были продукт был продан, и команда, которая продается данный продукт в этой области. Я хочу, чтобы создать subdataframe для каждой команды следующим образом: команда = [ «красный», «синий», «оранжевый», «черный»] subdf_name = [ «г», «B», «о», «бл»] Я пробовал: защиту newdf (subdf, team_id): subdf = df.loc [ДФ [ 'команды'] == team_id, [ 'product_id', 'х', 'у', 'Команда']] возвращение subdf для г, J в ZIP (subdf_name, team_id): newdf (I, J), однако, когда я звоню красную команду DF (печать (красную), питон сообщает, что NameError: название «красный» не определен в настоящее время работает с питоном 3.6 спасибо заранее ваше сотрудничество
Geo_fer

Просмотр дополнительных вопросов