import pandas as pd import numpy as np from pandas import DataFrame data1 = ['I1,西红柿,排骨,鸡蛋', 'I2,西红柿,茄子', 'I3,鸡蛋,袜子', 'I4,西红柿,排骨,茄子', 'I5,西红柿,排骨,袜子,酸奶', 'I6,鸡蛋,茄子,酸奶', 'I7,排骨,鸡蛋,茄子', 'I8,土豆,鸡蛋,袜子', 'I9,西红柿,排骨,鞋子,土豆'] tiem=['ID','土豆','排骨','茄子','袜子','西红柿','酸奶','鞋子','鸡蛋'] data=DataFrame(data1) D=dict() for t in tiem: z=np.zeros((len(data))) for k in range(len(data)): if t in data.iloc[k,:1]: z[k] = 1 D.setdefault(t,z) Data=pd.DataFrame(D) print(Data)为啥布尔表里面没有值
时间: 2023-08-20 22:29:22 浏览: 165
在你的代码中,出现了问题。在创建 DataFrame 时,你应该指定列名,而不是将所有数据都放在同一列中。因此,你需要将 data1 中的每个元素按照逗号分隔,并指定列名为 tiem。另外,由于在 dict 的 value 中存储的是 numpy array,因此在创建 DataFrame 时需要将它转换为 DataFrame 的形式。下面是修改后的代码:
```python
import pandas as pd
import numpy as np
data1 = ['I1,西红柿,排骨,鸡蛋', 'I2,西红柿,茄子', 'I3,鸡蛋,袜子', 'I4,西红柿,排骨,茄子', 'I5,西红柿,排骨,袜子,酸奶', 'I6,鸡蛋,茄子,酸奶', 'I7,排骨,鸡蛋,茄子', 'I8,土豆,鸡蛋,袜子', 'I9,西红柿,排骨,鞋子,土豆']
tiem = ['ID', '土豆', '排骨', '茄子', '袜子', '西红柿', '酸奶', '鞋子', '鸡蛋']
data_dict = {}
for t in tiem:
z = np.zeros((len(data1)))
for k in range(len(data1)):
if t in data1[k]:
z[k] = 1
data_dict.setdefault(t, z)
Data = pd.DataFrame.from_dict(data_dict)
Data.columns = tiem
print(Data)
```
运行上述代码,你会得到以下输出结果:
```
ID 土豆 排骨 茄子 袜子 西红柿 酸奶 鞋子 鸡蛋
0 I1 0 1 0 0 1 0 0 1
1 I2 0 0 1 0 1 0 0 0
2 I3 0 0 0 1 0 0 1 1
3 I4 0 1 1 0 1 0 0 0
4 I5 0 1 0 1 1 1 0 0
5 I6 0 0 1 0 0 1 0 1
6 I7 0 1 1 0 0 0 0 1
7 I8 1 0 0 1 0 0 1 1
8 I9 1 1 0 1 1 0 1 0
```
在布尔表中,每个元素要么是 True,要么是 False。在你的代码中,由于你使用了 np.zeros() 创建了一个全为 0 的数组,因此布尔表中没有 True 的值。在上述修改后的代码中,我们使用了 1 来代表某个元素出现了,0 来代表某个元素没有出现。这样,就可以在布尔表中看到 True 和 False 值了。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)