我在循环内使用一个数据帧(df1)存储从另一个数据帧(df2)中读取的信息。 df1在每个迭代中可以具有不同的行数。我使用const group1Options = [
{
label: "Item1",
value: "1|1"
},
{
label: "Item2",
value: "1|2"
},
{
label: "Item3",
value: "1|3"
}
];
const group2Options = [
{
label: "Item1",
value: "2|1"
},
{
label: "Item2",
value: "2|2"
}
];
const createGroup = (groupName, options, setValue) => {
return {
label: (() => {
return (
<div
onClick={() =>
setValue(value =>
value.concat(options.filter(grpOpt => !value.includes(grpOpt)))
)
}
>
{groupName}
</div>
);
})(),
options: options
};
};
export default function App() {
const [value, setValue] = useState([]);
let options = [
createGroup("---GROUP 1---", group1Options, setValue),
createGroup("---GROUP 2---", group2Options, setValue)
];
return (
<div className="App">
<h1>Hello CodeSandbox</h1>
<Select
// components={{GroupHeading: () => <div onClick={() => console.log('i am a group and i am clickable .. yay!')}>My Group Heading</div>}}
onChange={option => {
console.log(option);
return setValue(option);
}}
closeMenuOnSelect={false}
isMulti
menuIsOpen={true}
options={options}
value={value}
/>
</div>
);
}
逐行存储数据。这可能是一个例子:
df1.loc[row_number]
然后,我需要读取执行的第一列和第一行的值
a b c
0 9 2 3
1 8 5 6
2 3 8 9
当df1是单行数据帧时出现问题:
df1['a'].iloc[0]
9
似乎熊猫只有一行,将数据框存储为熊猫系列对象。尝试以相同的方式(a 9
b 2
c 3
Name: 0, dtype: int64
来访问值,但出现错误:
df1['a'].iloc[0]
有没有一种方法可以在一般情况下解决此问题,而无需单独处理1行数据帧?
答案 0 :(得分:0)
df1 ['a']可能是数据框/系列的列'a',在错误情况下不存在(没有名为'a'的列)...。尝试使用df.iloc [ 0]直接