<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 Test Datasets
This notebooks generates a variety of large datasets that can be used for debugging and perf testing. 
Import the necessary libaries
Step1:  Check the version of the Graphistry module
Step2:  800K Edges, 1K Nodes (no attributes)
Step3:  800K Edges, 1K Nodes (5 integer node and edge attributes)
Step4:  50K edges, 100 nodes, 100 integer edges attributes 5 integer node attributes
Step5:  10K Edges, 100 Nodes (100 32 bytes random string edge attributes, 5 integer node attributes)
Step6:  Epinions - 75,877 nodes, 508,836 edges
Nodes represent users
Edges represe
Step7:  Facebook - 4039 Nodes, 88234 Edges
Nodes People. Color indicates community and size shows popularity.
Edges Friendships
Step8:  Amazon 262111 nodes , 1,234,877 Edges
Nodes - Products or Customers
Edges - A customer review
<ASSISTANT_TASK:>
Python Code:
import random
import graphistry as g
import pandas as pd
from random import choice
from string import ascii_letters
from IPython.display import IFrame
Explanation: Test Datasets
This notebooks generates a variety of large datasets that can be used for debugging and perf testing. 
Import the necessary libaries
End of explanation
g.__version__
# To specify Graphistry account & server, use:
# graphistry.register(api=3, username='...', password='...', protocol='https', server='hub.graphistry.com')
# For more options, see https://github.com/graphistry/pygraphistry#configure
Explanation: Check the version of the Graphistry module
End of explanation
edges = pd.DataFrame({'src': [ random.randint(0, 1000) for x in range(800000)], 
                      'dest': [random.randint(0, 1000) for x in range(800000)]})
edges[:3]
g.edges(edges).bind(source='src', destination='dest').plot()
Explanation: 800K Edges, 1K Nodes (no attributes)
End of explanation
edges2 = edges;
nodes = pd.DataFrame({'name':[x for x in range(0, 1000)]})
for i in range(5):
    edges2['intFld' + str(i)] = edges2.src.map(lambda x: random.randint(0, 100000))
    
for i in range(5):
    nodes['intFld' + str(i)] = nodes.name.map(lambda x: random.randint(0, 100000))
g.edges(edges2).nodes(nodes).bind(source='src', destination='dest', node='name').plot()
Explanation: 800K Edges, 1K Nodes (5 integer node and edge attributes)
End of explanation
edges = pd.DataFrame({'src': [ random.randint(0, 100) for x in range(50000)], 'dest': [random.randint(0, 100) for x in range(50000)]})
nodes = pd.DataFrame({'name':[x for x in range(0, 100)]})
for i in range(100):
    edges['intFld' + str(i)] = edges.src.map(lambda x: random.randint(0, 100000))
    
for i in range(5):
    nodes['intFld' + str(i)] = nodes.name.map(lambda x: random.randint(0, 100000))
g.edges(edges).nodes(nodes).bind(source='src', destination='dest', node='name').plot()
Explanation: 50K edges, 100 nodes, 100 integer edges attributes 5 integer node attributes
End of explanation
edges = pd.DataFrame({'src': [ random.randint(0, 100) for x in range(10000)], 
                      'dest': [random.randint(0, 100) for x in range(10000)]})
for i in range(100):
    edges['intFld' + str(i)] = edges.src.map(lambda x: (''.join(choice(ascii_letters) for i in range(32))))
for i in range(5):
    nodes['intFld' + str(i)] = nodes.name.map(lambda x: random.randint(0, 100000))
g.edges(edges).nodes(nodes).bind(source='src', destination='dest', node='name').plot()
Explanation: 10K Edges, 100 Nodes (100 32 bytes random string edge attributes, 5 integer node attributes)
End of explanation
url = 'http://' + SERVER + '/graph/graph.html?dataset=Epinions&scene=default&info=true&play=10000&mapper=splunk&splashAfter=1477695505'
IFrame(url, width=700, height=350)
Explanation: Epinions - 75,877 nodes, 508,836 edges
Nodes represent users
Edges represe
End of explanation
url = 'http://' + SERVER + '/graph/graph.html?dataset=Facebook&scene=default&info=true&play=10000&mapper=opentsdb&splashAfter=1477695505'
IFrame(url, width=700, height=350)
Explanation: Facebook - 4039 Nodes, 88234 Edges
Nodes People. Color indicates community and size shows popularity.
Edges Friendships
End of explanation
# Much larger than 800,000 nodes + edges. Does not need to render in 20 seconds. 
url = 'http://' + SERVER + '/graph/graph.html?dataset=Amazon&scene=default&info=true&play=10000&mapper=splunk&splashAfter=1477695505'
IFrame(url, width=700, height=350)
Explanation: Amazon 262111 nodes , 1,234,877 Edges
Nodes - Products or Customers
Edges - A customer review
End of explanation
<END_TASK>