我要将列表中的数据附加到pandas df。我的条目中不断出现NaN。
根据我所读的内容,我认为我可能不得不提及代码中每一列的数据类型。
dumps = [];features_df = pd.DataFrame()
for i in range (int(len(ids)/50)):
dumps = sp.audio_features(ids[i*50:50*(i+1)])
for i in range (len(dumps)):
print(list(dumps[0].values()))
features_df = features_df.append(list(dumps[0].values()), ignore_index = True)
预期结果,类似-
[0.833,0.539,11,-7.399,0,0.178,0.163,2.1e-06,0.101,0.385,99.947,'audio_features','6MWtB6iiXyIwun0YzU6DFP','spotify:track:6MWtB6iiXyIwun0YzU6DFP','https://api.spotify.com/v1/tracks/6MWtB6iiXyIwun0YzU6DFP ,'https://api.spotify.com/v1/audio-analysis/6MWtB6iiXyIwun0YzU6DFP',149520,4]
一排。
实际-
舞蹈能量... duration_ms time_signature
0 NaN NaN ... NaN NaN
1 NaN NaN ... NaN NaN
2 NaN NaN ... NaN NaN
3 NaN NaN ... NaN NaN
4 NaN NaN ... NaN NaN
5 NaN NaN ... NaN NaN
对于所有行
答案 0 :(得分:0)
append()
策略不是实现此目的的好方法。相反,您可以构造一个空的DataFrame
,然后使用loc
指定一个插入点。应该使用DataFrame
索引。
例如:
import pandas as pd
df = pd.DataFrame(data=[], columns=['n'])
for i in range(100):
df.loc[i] = i
print(df)
time python3 append_df.py
n
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
real 0m13.178s
user 0m12.287s
sys 0m0.617s