python - 将 CSV 文件数据转换为联合数据
问题描述
我正在尝试将我的 CSV 数据集转换为联合数据。请找到我在运行代码时遇到的代码和错误
代码:导入集合
import numpy as np
import pandas as pd
import tensorflow as tf
import tensorflow_federated as tff
np.random.seed(0)
df = pd.read_csv('path to my csv file')
client_id_colname = 'aratio: continuous.'
SHUFFLE_BUFFER = 1000
NUM_EPOCHS = 1
client_ids = df[client_id_colname].unique()
train_client_ids = sample(client_ids.tolist(),500)
test_client_ids = [x for x in client_ids if x not in train_client_ids]
def create_tf_dataset_for_client_fn(client_id):
client_data = df[df[client_id_colname] == client_id]
dataset = tf.data.Dataset.from_tensor_slices(client_data.to_dict('list'))
dataset = dataset.shuffle(SHUFFLE_BUFFER).batch(1).repeat(NUM_EPOCHS)
return dataset
train_data = tff.simulation.ClientData.from_clients_and_fn(
client_ids=train_client_ids,
create_tf_dataset_for_client_fn=create_tf_dataset_for_client_fn
)
test_data = tff.simulation.ClientData.from_clients_and_fn(
client_ids=test_client_ids,
create_tf_dataset_for_client_fn=create_tf_dataset_for_client_fn
)
错误: - - - - - - - - - - - - - - - - - - - - - - - - --------------------------
NameError Traceback (most recent call last)
<ipython-input-7-9d85508920a8> in <module>
15 # split client id into train and test clients
16 client_ids = df[client_id_colname].unique()
---> 17 train_client_ids = sample(client_ids.tolist(),500)
18 test_client_ids = [x for x in client_ids if x not in train_client_ids]
19
NameError: name 'sample' is not defined
解决方案
Python 找不到该sample
函数。代码需要从某个地方导入它,有几个可能的选项:
要使用第一个,代码需要一个import random
并且示例行需要更改为:
train_client_ids = random.sample(client_ids.tolist(), 500)
推荐阅读
- angular - Angular 9 生产版本不会创建命名块文件
- javascript - 如何在javascript中迭代数组数组?
- git - 如何停止使用 gitignore 推送带有 bin 和 npy 扩展名的文件?
- vba - Outlook 子文件夹扩展
- angular - 如何在 Wordpress 网站上部署 SPA?
- cas - 如何在 CAS 服务器中实现双因素身份验证
- xaml - 只有第一个表单在 Xamarin.Forms Android 中的 StackLayout 中工作
- twilio - 当 CURL 工作时 POST 请求错误
- amazon-web-services - AWS IOT Core 规则触发不同区域的 lambda 函数
- ldap - 更改子网后 vCenter 无法正常工作