将Intrinio apiresponse转换为数据帧,但是我在转换显然是字典的数据列表时遇到了麻烦。
想将此列表转换为按日期排序且仅使用adj_close的pandas数据框。
RefreshControl
如何将列表转换为按“日期”组织的数据集?
将列表转换为DataFrame之后
现在是
import React, { Component } from 'react';
import { View, KeyboardAvoidingView, TextInput, RefreshControl, Button, ScrollView } from 'react-native';
export default class Authenticate extends Component {
constructor(props) {
super(props);
this.state = {
refreshing: false
};
}
render() {
return (
<KeyboardAvoidingView enabled style={{ flex: 1 }}>
<ScrollView
contentContainerStyle={{ flex: 1, backgroundColor: 'gray', justifyContent: 'space-between' }}
refreshControl={<RefreshControl refreshing={this.state.refreshing} />}>
<View style={{ height: 200, backgroundColor: 'red' }}>
<TextInput
style={{
height: 60,
color: 'white',
backgroundColor: 'gray',
fontSize: 20,
textAlign: 'center'
}}
value="Press Me"
/>
</View>
<Button style={{ backgroundColor: 'blue', width: '100%' }} title="Footer button" />
</ScrollView>
</KeyboardAvoidingView>
);
}
}
我无法使用sort_values,因为它显示了KeyError:'date' 因为它们在支架内。有什么建议要删除括号吗?
答案 0 :(得分:1)
您只需要pd.DataFrame
和sort_values
df=pd.DataFrame(stockprice).sort_values(['adj_close','date'])
df
adj_close adj_high adj_low ... low open volume
1 226.469813 228.622302 225.562977 ... 226.35 227.95 23600802.0
0 228.482789 229.200286 225.842003 ... 226.63 227.25 24788170.0
[2 rows x 13 columns]
答案 1 :(得分:0)
因此,我找到了一种解决方法,方法是创建两个列表,然后在创建数据框之前将日期和adj_close附加到每个列表中
date = []
close= []
for data in stocks:
date.append(data.date)
close.append(data.adj_close)
stockdata = pd.DataFrame(date, close).reset_index()
stockdata.columns = ['close','date']
stockdata = stockdata.set_index('date')
所以不用说这是太多的编码。任何意见?文本提供的答案显示
KeyError:“日期”
答案 2 :(得分:0)
这可以解决问题:
>>> s = b'\x80'
>>> s.decode('utf8')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte
希望它会有所帮助:)