熊猫:使用iloc处理单行数据帧

时间:2020-04-21 14:26:11

标签: python pandas dataframe

我在循环内使用一个数据帧(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行数据帧?

1 个答案:

答案 0 :(得分:0)

df1 ['a']可能是数据框/系列的列'a',在错误情况下不存在(没有名为'a'的列)...。尝试使用df.iloc [ 0]直接