【发布时间】:2016-03-24 23:22:51
【问题描述】:
有没有办法解决这个问题...
bloomberg morningstar yahoo
0 AAPL1 AAPL2 NaN
1 AAPL1 NaN AAPL3
2 NaN GOOG4 GOOG5
3 GOOG6 GOOG4 NaN
4 IBM7 NaN IBM8
5 NaN IBM9 IBM8
6 NaN NaN FB
...到这个...
bloomberg morningstar yahoo
0 AAPL1 AAPL2 AAPL3
1 GOOG6 GOOG4 GOOG5
2 IBM7 IBM9 IBM8
3 NaN NaN FB
...在熊猫中?
我已经充分整理了我的数据,以确保在起始数据框的给定列中永远不会有任何“冲突”信息,例如以下是不可能...
A column Another column
0 AAPL1 One thing
1 AAPL1 Another thing
唯一可能发生的情况是,任何给定的列要么有 1) 没有信息,要么 2) 有正确的信息,例如
A column Another column
0 AAPL1 NaN
1 AAPL1 The right information
我要做的就是在可用的情况下用 “正确” 信息填充 NaN,然后删除重复项(这应该很容易)。
但是应该保留一些 NaN,因为我没有足够的数据来推断它们的值,例如示例中的 FB 行。
谁有好的答案?感谢您的帮助!
如果您想尝试一下,这里有一些代码可以加载起始数据帧:
import pandas as pd
data = [
{'bloomberg': 'AAPL1', 'morningstar': 'AAPL2'},
{'bloomberg': 'AAPL1', 'yahoo': 'AAPL3'},
{'morningstar': 'GOOG4', 'yahoo': 'GOOG5'},
{'bloomberg': 'GOOG6', 'morningstar': 'GOOG4'},
{'bloomberg': 'IBM7', 'yahoo': 'IBM8'},
{'morningstar': 'IBM9', 'yahoo': 'IBM8'},
{'yahoo': 'FB'}]
df = pd.DataFrame(data)
【问题讨论】:
标签: python pandas dataframe nan