'Dataframe returning empty after assignment of values?

Essentially, I would like to add values to certain columns in an empty DataFrame with defined columns, but when I run the code, I get.

Empty DataFrame
Columns: [AP, AV]
Index: []

Code:

df = pd.DataFrame(columns=['AP', 'AV'])  
df['AP'] = propName 
df['AV'] = propVal

I think this could be a simple fix, but I've tried some different solutions to no avail. I've tried adding the values to an existing dataframe I have, and it works when I do that, but would like to have these values in a new, separate structure.

Thank you,



Solution 1:[1]

Assign propName and propValue to dictionary:

dict = {}
dict[propName] = propValue

Then, push to empty DataFrame, df:

df = pd.DataFrame()
df['AP'] = dict.keys()
df['AV'] = dict.values()

Probably not the most elegant solution, but works great for me.

Solution 2:[2]

It's the lack of an index. If you create an empty dataframe with an index.

df = pd.DataFrame(index = [5])

Output

Empty DataFrame
Columns: []
Index: [5]

Then when you set the value, it will be set.

df[5] = 12345

Output

       5
5  12345

You can also create an empty dataframe. And when setting a column with a value, pass the value in the list. The index will be automatically set.

df = pd.DataFrame()
df['qwe'] = [777]

Output

   qwe
0  777

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Akashdas221
Solution 2