Assigning values to dataframe columns

user3447653

In the below code, the dataframe df5 is not getting populated. I am just assigning the values to dataframe's columns and I have specified the column beforehand. When I print the dataframe, it returns an empty dataframe. Not sure whether I am missing something.

Any help would be appreciated.

import math    
import pandas as pd

columns = ['ClosestLat','ClosestLong']

df5 = pd.DataFrame(columns=columns)

def distance(pt1, pt2):
  return math.sqrt((pt1[0] - pt2[0])**2 + (pt1[1] - pt2[1])**2)

for pt1 in df1:
   closestPoints = [pt1, df2[0]]
   for pt2 in df2:
     if distance(pt1, pt2) < distance(closestPoints[0], closestPoints[1]):
       closestPoints = [pt1, pt2]
       df5['ClosestLat'] = closestPoints[1][0]
   df5['ClosestLat'] = closestPoints[1][0]
   df5['ClosestLong'] = closestPoints[1][1]
   print ("Point: " + str(closestPoints[0]) + " is closest to " + str(closestPoints[1]))
bpachev

From the look of your code, you're trying to populate df5 with a list of latitudes and longitudes. However, you're making a couple mistakes.

  1. The columns of pandas dataframes are Series, and hold some type of sequential data. So df5['ClosestLat'] = closestPoints[1][0] attempts to assign the entire column a single numerical value, and results in an empty column.
  2. Even if the dataframe wasn't ignoring your attempts to assign a real number to the column, you would lose data because you are overwriting the column with each loop.

The Solution: Build a list of lats and longs, then insert into the dataframe.

import math    
import pandas as pd

columns = ['ClosestLat','ClosestLong']

df5 = pd.DataFrame(columns=columns)

def distance(pt1, pt2):
  return math.sqrt((pt1[0] - pt2[0])**2 + (pt1[1] - pt2[1])**2)

lats, lngs = [], []
for pt1 in df1:
   closestPoints = [pt1, df2[0]]
   for pt2 in df2:
     if distance(pt1, pt2) < distance(closestPoints[0], closestPoints[1]):
       closestPoints = [pt1, pt2]
   lats.append(closestPoints[1][0])
   lngs.append(closestPoints[1][1])

df['ClosestLat'] = pd.Series(lats)
df['ClosestLong'] = pd.Series(lngs)

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

Assigning values to dataframe columns

From Java

Any differences between iterating over values in columns of dataframe and assigning variable to data in column?

From Dev

Assigning dataframe columns in rpy2

From Dev

Assigning columns to a pandas dataframe constructed from a string

From Dev

Average of values in columns in dataframe?

From Dev

Average of values in columns in dataframe?

From Dev

Group rows in dataframe by assigning values as a column in pandas dataframe

From Dev

Add columns with predefined values to a dataframe

From Dev

Map values on DataFrame by two columns

From Dev

How to modify columns of a dataframe into values

From Dev

Map values on DataFrame by two columns

From Dev

Changing the columns in DataFrame with respect to values in other columns

From Dev

Assigning multiple column values in a single row of pandas DataFrame, in one line

From Dev

Pandas dataframe : assigning values according to ranks at row-level

From Dev

Assigning column names while creating dataframe results in nan values

From Dev

set values in dataframe based on columns in other dataframe

From Dev

Filter pandas dataframe based on values in multiple columns

From Java

pandas DataFrame: replace nan values with average of columns

From Dev

pandas - linear regression of dataframe columns values

From Dev

Read the keys and values from the columns of a dataframe in Python

From Java

Replace values in multiple columns of dataframe with numpy

From Dev

Replacing values in pandas dataframe columns by criteria

From Dev

Values from multiple dataframe columns into one vector

From Dev

Pandas dataframe - transform column values into individual columns

From Dev

How to reorder values across columns in a pandas DataFrame?

From Dev

2 values in an Array to 2 columns in my DataFrame

From Dev

means and SD for columns in a dataframe with NA values

From Dev

Remove columns with zero values from a dataframe

From Dev

melting dataframe and pasting together values in columns

Related Related

  1. 1

    Assigning values to dataframe columns

  2. 2

    Any differences between iterating over values in columns of dataframe and assigning variable to data in column?

  3. 3

    Assigning dataframe columns in rpy2

  4. 4

    Assigning columns to a pandas dataframe constructed from a string

  5. 5

    Average of values in columns in dataframe?

  6. 6

    Average of values in columns in dataframe?

  7. 7

    Group rows in dataframe by assigning values as a column in pandas dataframe

  8. 8

    Add columns with predefined values to a dataframe

  9. 9

    Map values on DataFrame by two columns

  10. 10

    How to modify columns of a dataframe into values

  11. 11

    Map values on DataFrame by two columns

  12. 12

    Changing the columns in DataFrame with respect to values in other columns

  13. 13

    Assigning multiple column values in a single row of pandas DataFrame, in one line

  14. 14

    Pandas dataframe : assigning values according to ranks at row-level

  15. 15

    Assigning column names while creating dataframe results in nan values

  16. 16

    set values in dataframe based on columns in other dataframe

  17. 17

    Filter pandas dataframe based on values in multiple columns

  18. 18

    pandas DataFrame: replace nan values with average of columns

  19. 19

    pandas - linear regression of dataframe columns values

  20. 20

    Read the keys and values from the columns of a dataframe in Python

  21. 21

    Replace values in multiple columns of dataframe with numpy

  22. 22

    Replacing values in pandas dataframe columns by criteria

  23. 23

    Values from multiple dataframe columns into one vector

  24. 24

    Pandas dataframe - transform column values into individual columns

  25. 25

    How to reorder values across columns in a pandas DataFrame?

  26. 26

    2 values in an Array to 2 columns in my DataFrame

  27. 27

    means and SD for columns in a dataframe with NA values

  28. 28

    Remove columns with zero values from a dataframe

  29. 29

    melting dataframe and pasting together values in columns

HotTag

Archive