从多个列表创建数据框

时间:2020-07-09 03:29:15

标签: python pandas

我有几个列表:

import React, { useReducer } from "react";
import "./styles.css";

const USER_UPDATE = "USER_UPDATE";
const ADD_USER = "ADD_USER";
const REMOVE_USER = "REMOVE_USER";
const FILTER_USER = "FILTER_USER";

const initState = { users: [], user: "" };

const reducer = (state, action) => {
  switch (action.type) {
    case FILTER_USER:
      return {
        ...state,
        users: state.users.filter(
          user =>
            user.toLowerCase().indexOf(action.payload.toLowerCase()) !== -1
        )
      };
    default:
      return state;
  }
};

export default function App() {
  const [state, dispatch] = useReducer(reducer, initState);
  const userUpdate = e => {
    const { value } = e.target;
    dispatch({ type: USER_UPDATE, payload: value });
  };
  const addNewUser = () => dispatch({ type: ADD_USER });
  const removeUser = i => dispatch({ type: REMOVE_USER, payload: i });
  const handleFilter = e =>
    dispatch({ type: FILTER_USER, payload: e.target.value });
  const renderUsers = state.users.map((user, i) => (
    <li
      key={i}
    >
      <button
        onClick={() => removeUser(i)}
      >
        x
      </button>
      <p style={{}}>{user}</p>
    </li>
  ));
  return (
    <div className="App">
      <pre>{state.user}</pre>
      <input placeholder="Enter a name" onChange={userUpdate} />
      <button onClick={addNewUser}>Add</button>
      <hr />
      <input placeholder="Filter name" onChange={handleFilter} />
      <ul style={{ listStyle: "none" }}>{renderUsers}</ul>
    </div>
  );
}

我想要一个3列的数据框,它使用列表的名称自动命名

a = [1, 2, 3, 4]
b = [5, 6, 7, 8]
c = [7, 8, 9, 10]

如何执行此操作?谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用以下代码从列表创建Pandas DataFrame:

import pandas as pd

a = [1, 2, 3, 4]
b = [5, 6, 7, 8]
c = [7, 8, 9, 10]

df = pd.DataFrame(list(zip(a, b, c)),
                  columns =['a', 'b', 'c'])

print(df)

希望这会有所帮助!