Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 熊猫,从字典到熊猫再到绘图布尔_Python_Pandas - Fatal编程技术网

Python 熊猫,从字典到熊猫再到绘图布尔

Python 熊猫,从字典到熊猫再到绘图布尔,python,pandas,Python,Pandas,我是新的Python程序员, 我想从这个 dic = {"word1": ["a","b","c"], "word2": ["b", "d", "e"], "word3": ["a", "f", "c"]} 要创建此数据帧对象,请执行以下操作 我试过这样的代码 df = pd.DataFrame(index=["a","b","c","d","e","f"], columns=[]) for i in result: print("i",i) print("v", v) df2 = pd.D

我是新的Python程序员, 我想从这个

dic = {"word1": ["a","b","c"], "word2": ["b", "d", "e"], "word3": ["a", "f", "c"]}
要创建此数据帧对象,请执行以下操作

我试过这样的代码

df = pd.DataFrame(index=["a","b","c","d","e","f"], columns=[])
for i in result:
print("i",i)
print("v", v)
df2 = pd.DataFrame(i)
df.append(df2)

请帮助我如何编码此

首先将
dict
转换为
Series
,然后使用+
DataFrame
构造函数,最后转换为布尔值:

d = {"word1": ["a","b","c"], "word2": ["b", "d", "e"], "word3": ["a", "f", "c"]}

s = pd.Series(d)

另一个解决方案是通过
|
连接,默认分隔符是什么:



首先将
dict
转换为
Series
,然后使用+
DataFrame
构造函数,最后转换为布尔值:

d = {"word1": ["a","b","c"], "word2": ["b", "d", "e"], "word3": ["a", "f", "c"]}

s = pd.Series(d)

另一个解决方案是通过
|
连接,默认分隔符是什么:



这里有一种使用pd.get\u dummies的方法:

import pandas as pd

d = {"word1": ["a","b","c"], "word2": ["b", "d", "e"], "word3": ["a", "f", "c"]}

df = pd.DataFrame.from_dict(d, orient='index')
df['values'] = df.values.tolist()

df = df.drop(df.columns[:], 1)\
       .join(pd.get_dummies(df['values'].apply(pd.Series).stack()).sum(level=0))\
       .astype(bool)
结果

           a      b      c      d      e      f
word1   True   True   True  False  False  False
word2  False   True  False   True   True  False
word3   True  False   True  False  False   True
解释

  • 为每个单词创建一系列列表
  • 通过一些操作将
    pd.get_dummies
    应用于本系列
  • 出于显示目的,将类型从
    int
    转换为
    bool

    • 这里有一种方法可以使用
      pd.get\u dummies

      import pandas as pd
      
      d = {"word1": ["a","b","c"], "word2": ["b", "d", "e"], "word3": ["a", "f", "c"]}
      
      df = pd.DataFrame.from_dict(d, orient='index')
      df['values'] = df.values.tolist()
      
      df = df.drop(df.columns[:], 1)\
             .join(pd.get_dummies(df['values'].apply(pd.Series).stack()).sum(level=0))\
             .astype(bool)
      
      结果

                 a      b      c      d      e      f
      word1   True   True   True  False  False  False
      word2  False   True  False   True   True  False
      word3   True  False   True  False  False   True
      
      解释

      • 为每个单词创建一系列列表
      • 通过一些操作将
        pd.get_dummies
        应用于本系列
      • 出于显示目的,将类型从
        int
        转换为
        bool

      抱歉,我现在检查抱歉,我现在检查我想选择你们两个作为最佳答案,但耶兹雷尔先生快了一点,我想选择你们两个作为最佳答案,但耶兹雷尔先生快了一点,我的英雄也是@YOSUKEmy hero也@YOSUKE